From: Martin Quinson Date: Tue, 22 Sep 2015 19:23:00 +0000 (+0200) Subject: [tesh] cleanup: don't start useless process instead of killing it right away X-Git-Tag: v3_12~128 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/45b7db0379706165b65554720810d170e828e72f?hp=ad4aedd4aa99eefd6a16d9a2e86a3ea0532aea54 [tesh] cleanup: don't start useless process instead of killing it right away --- diff --git a/tools/tesh/tesh.pl b/tools/tesh/tesh.pl index 95ae2ad6fe..d67fe47496 100755 --- a/tools/tesh/tesh.pl +++ b/tools/tesh/tesh.pl @@ -290,7 +290,7 @@ sub exec_cmd { close CHILD_IN; # if timeout specified, fork and kill executing child at the end of timeout - if (defined($cmd{'timeout'}) or defined($opts{'timeout'})){ + if (not $cmd{'background'} and (defined($cmd{'timeout'}) or defined($opts{'timeout'}))){ $time_to_wait= defined($cmd{'timeout'}) ? $cmd{'timeout'} : $opts{'timeout'}; $forked = fork(); $timeout=-1; @@ -302,19 +302,13 @@ sub exec_cmd { # Cleanup the executing child, and kill the timeouter brother on need $cmd{'return'} = 0 unless defined($cmd{'return'}); - if($cmd{'background'} != 1){ + if ($cmd{'background'} != 1) { waitpid ($cmd{'pid'}, 0); $cmd{'gotret'} = exit_status($?); parse_out(\%cmd); - }else{ + } else { # & commands, which will be handled at the end push @bg_cmds, \%cmd; - # no timeout for background commands - if($forked){ - kill('KILL', $forked); - $timeout=0; - $forked=0; - } } }