From 1cd64d081d1745436dd7c41826dfb05672dd26aa Mon Sep 17 00:00:00 2001 From: "M. Sean Finney" Date: Sun, 1 May 2005 20:12:03 +0000 Subject: better error checking in spopen signal handler (see 1107524) git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1169 f882894a-f735-0410-b71e-b25c423dba1c diff --git a/plugins/popen.c b/plugins/popen.c index 04eb388..062cf27 100644 --- a/plugins/popen.c +++ b/plugins/popen.c @@ -243,8 +243,12 @@ static int openmax = 0; void popen_timeout_alarm_handler (int signo) { + int fh; if (signo == SIGALRM) { - kill (childpid[fileno (child_process)], SIGKILL); + fh=fileno (child_process); + if(fh >= 0){ + kill (childpid[fh], SIGKILL); + } printf (_("CRITICAL - Plugin timed out after %d seconds\n"), timeout_interval); exit (STATE_CRITICAL); diff --git a/plugins/popen.h b/plugins/popen.h index 1f4e413..c2a79df 100644 --- a/plugins/popen.h +++ b/plugins/popen.h @@ -9,7 +9,7 @@ int spclose (FILE *); RETSIGTYPE popen_timeout_alarm_handler (int); extern unsigned int timeout_interval; -pid_t *childpid; -int *child_stderr_array; -FILE *child_process; -FILE *child_stderr; +pid_t *childpid=NULL; +int *child_stderr_array=NULL; +FILE *child_process=NULL; +FILE *child_stderr=NULL; -- cgit v0.10-9-g596f