X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/922413f51f4aefe2b0e69bdb1dcc48c018a4cc33..c3437f2bdbb60a09c19b4d4f04312195d9d683e0:/continuous/gw-setup/run.pl diff --git a/continuous/gw-setup/run.pl b/continuous/gw-setup/run.pl index d026b12..04433d6 100755 --- a/continuous/gw-setup/run.pl +++ b/continuous/gw-setup/run.pl @@ -34,7 +34,7 @@ my $status = system((qw(ssh -T glab), $latester)); kill('TERM', -$pid); exit($status >> 8); - +sub kill_boot() { kill('TERM', -$pid) if defined $pid; } sub run_boot() { # die("No boot command") if ($#ARGV eq -1); @@ -42,6 +42,8 @@ sub run_boot() my $bootcmd = "$FindBin::Bin/boot"; + $SIG{INT} = sub { kill_boot(); exit; }; + pipe($boot, $wh) || die("pipe: $!"); my $pid = fork() // die("fork: $!"); if ($pid == 0) { @@ -56,4 +58,4 @@ sub run_boot() return $pid; } -END { kill('TERM', -$pid) if defined $pid; } +END { kill_boot(); }