diff options
-rw-r--r-- | debian/changelog | 5 | ||||
-rwxr-xr-x | dgit | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/debian/changelog b/debian/changelog index 9f7b5fa..8edf527 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,9 @@ dgit (3.2~) unstable; urgency=medium - * + Bugfixes: + * dgit: Do not execute END blocks in children. So far symptoms of this + bug seem to be limited to duplicated error messages but I have not + done a thorough analysis. Closes:#850052. -- @@ -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 $@; @@ -4473,7 +4475,10 @@ sub i_cleanup { } } -END { i_cleanup(); } +END { + return unless forkcheck_mainprocess(); + i_cleanup(); +} sub i_method { my ($base,$selector,@args) = @_; |