Loading mysql-test/lib/mtr_process.pl +9 −1 Original line number Diff line number Diff line Loading @@ -770,7 +770,15 @@ sub mtr_record_dead_children () { } sub start_reap_all { $SIG{CHLD}= 'IGNORE'; # FIXME is this enough? # This causes terminating processes to not become zombies, avoiding # the need for (or possibility of) explicit waitpid(). $SIG{CHLD}= 'IGNORE'; # On some platforms (Linux, QNX, OSX, ...) there is potential race # here. If a process terminated before setting $SIG{CHLD} (but after # any attempt to waitpid() it), it will still be a zombie. So we # have to handle any such process here. while(waitpid(-1, &WNOHANG) > 0) { }; } sub stop_reap_all { Loading Loading
mysql-test/lib/mtr_process.pl +9 −1 Original line number Diff line number Diff line Loading @@ -770,7 +770,15 @@ sub mtr_record_dead_children () { } sub start_reap_all { $SIG{CHLD}= 'IGNORE'; # FIXME is this enough? # This causes terminating processes to not become zombies, avoiding # the need for (or possibility of) explicit waitpid(). $SIG{CHLD}= 'IGNORE'; # On some platforms (Linux, QNX, OSX, ...) there is potential race # here. If a process terminated before setting $SIG{CHLD} (but after # any attempt to waitpid() it), it will still be a zombie. So we # have to handle any such process here. while(waitpid(-1, &WNOHANG) > 0) { }; } sub stop_reap_all { Loading