Try harder to make sure we don't leave zombies around
authorDan Boger <zigdon@irc.peeron.com>
Mon, 5 Oct 2009 19:40:17 +0000 (12:40 -0700)
committerDan Boger <zigdon@irc.peeron.com>
Mon, 5 Oct 2009 19:40:17 +0000 (12:40 -0700)
twirssi.pl

index d894a36da1d1ff893d5b08ac26fd70bad24408d8..8f1801f0a4e8d0a3919ea83bb806399f85735a4e 100644 (file)
@@ -1403,6 +1403,9 @@ sub monitor_child {
             # make sure the pid is removed from the waitpid list
             Irssi::pidwait_remove($child_pid);
 
             # make sure the pid is removed from the waitpid list
             Irssi::pidwait_remove($child_pid);
 
+            # and that we don't leave any zombies behind, somehow
+            wait();
+
             # save id_map hash
             if ( keys %id_map
                 and my $file =
             # save id_map hash
             if ( keys %id_map
                 and my $file =
@@ -1429,6 +1432,7 @@ sub monitor_child {
     } else {
         print "Giving up on polling $filename" if &debug;
         Irssi::pidwait_remove($child_pid);
     } else {
         print "Giving up on polling $filename" if &debug;
         Irssi::pidwait_remove($child_pid);
+        wait();
         unlink $filename unless &debug;
 
         return unless Irssi::settings_get_bool("twirssi_notify_timeouts");
         unlink $filename unless &debug;
 
         return unless Irssi::settings_get_bool("twirssi_notify_timeouts");