X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=dgit;h=afdf2c58ec8d13c7dc54e2444f6abd1b5412b147;hb=fcb31fe3655f197956bb61f89c54638db4c14265;hp=a18d0181542cdb9a0485ad239973a53f87cdcf43;hpb=470a6734ed3fb8ed87d76e7dc716963cfe232e6b;p=dgit.git diff --git a/dgit b/dgit index a18d0181..afdf2c58 100755 --- a/dgit +++ b/dgit @@ -156,6 +156,7 @@ our $split_brain = 0; END { local ($@, $?); + return unless forkcheck_mainprocess(); print STDERR "! $_\n" foreach $supplementary_message =~ m/^.+$/mg; } @@ -220,6 +221,7 @@ initdebug(''); our @end; END { local ($?); + return unless forkcheck_mainprocess(); foreach my $f (@end) { eval { $f->(); }; print STDERR "$us: cleanup: $@" if length $@; @@ -3321,6 +3323,7 @@ sub multisuite_suite_child ($$$) { my $canonsuitefh = IO::File::new_tmpfile; my $pid = fork // die $!; if (!$pid) { + forkcheck_setup(); $isuite = $tsuite; $us .= " [$isuite]"; $debugprefix .= " "; @@ -4472,7 +4475,10 @@ sub i_cleanup { } } -END { i_cleanup(); } +END { + return unless forkcheck_mainprocess(); + i_cleanup(); +} sub i_method { my ($base,$selector,@args) = @_;