diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2006-02-17 09:08:08 +0000 |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2006-02-17 09:08:08 +0000 |
commit | 4a7401ea71fc7735be5fe371eb155284eb3a9583 (patch) | |
tree | d3dfad3a53c749df0841df2bca88f9bfd1f52e51 /plugins/popen.c | |
parent | 91bd5cfc686b1430fc603f1d8d18fab77514b04f (diff) | |
download | monitoring-plugins-4a7401ea71fc7735be5fe371eb155284eb3a9583.tar.gz |
SIGALRM could be received before child_process is created (Jason Crawford)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1317 f882894a-f735-0410-b71e-b25c423dba1c
Diffstat (limited to 'plugins/popen.c')
-rw-r--r-- | plugins/popen.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/plugins/popen.c b/plugins/popen.c index f6810691..5da12a02 100644 --- a/plugins/popen.c +++ b/plugins/popen.c | |||
@@ -270,12 +270,16 @@ popen_timeout_alarm_handler (int signo) | |||
270 | { | 270 | { |
271 | int fh; | 271 | int fh; |
272 | if (signo == SIGALRM) { | 272 | if (signo == SIGALRM) { |
273 | fh=fileno (child_process); | 273 | if (child_process != NULL) { |
274 | if(fh >= 0){ | 274 | fh=fileno (child_process); |
275 | kill (childpid[fh], SIGKILL); | 275 | if(fh >= 0){ |
276 | } | 276 | kill (childpid[fh], SIGKILL); |
277 | printf (_("CRITICAL - Plugin timed out after %d seconds\n"), | 277 | } |
278 | printf (_("CRITICAL - Plugin timed out after %d seconds\n"), | ||
278 | timeout_interval); | 279 | timeout_interval); |
280 | } else { | ||
281 | printf (_("CRITICAL - popen timeout received, but no child process\n")); | ||
282 | } | ||
279 | exit (STATE_CRITICAL); | 283 | exit (STATE_CRITICAL); |
280 | } | 284 | } |
281 | } | 285 | } |