Code

SIGALRM could be received before child_process is created (Jason Crawford)
authorTon Voon <tonvoon@users.sourceforge.net>
Fri, 17 Feb 2006 09:08:08 +0000 (09:08 +0000)
committerTon Voon <tonvoon@users.sourceforge.net>
Fri, 17 Feb 2006 09:08:08 +0000 (09:08 +0000)
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1317 f882894a-f735-0410-b71e-b25c423dba1c

THANKS.in
plugins/popen.c

index 9fee025561ffb078b72f68664258888c85165a6f..3aff4bfdd980619bb9584f402e8db02d61e1f6b4 100644 (file)
--- a/THANKS.in
+++ b/THANKS.in
@@ -174,3 +174,4 @@ Rick Frey
 Serhan Kiymaz
 Gerhard Lausser
 Jon Vandegrift
+Jason Crawford
index f6810691460c8e2fa26ec33359533f6a140c7b5f..5da12a02fb46a22d7af22bc7fabe9adddc41e7ce 100644 (file)
@@ -270,12 +270,16 @@ popen_timeout_alarm_handler (int signo)
 {
        int fh;
        if (signo == SIGALRM) {
-               fh=fileno (child_process);
-               if(fh >= 0){
-                       kill (childpid[fh], SIGKILL);
-               }
-               printf (_("CRITICAL - Plugin timed out after %d seconds\n"),
+               if (child_process != NULL) {
+                       fh=fileno (child_process);
+                       if(fh >= 0){
+                               kill (childpid[fh], SIGKILL);
+                       }
+                       printf (_("CRITICAL - Plugin timed out after %d seconds\n"),
                                                timeout_interval);
+               } else {
+                       printf (_("CRITICAL - popen timeout received, but no child process\n"));
+               }
                exit (STATE_CRITICAL);
        }
 }