chiark / gitweb /
dgit: Set $SIG{INT} to DEFAULT
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 23 Jul 2019 20:47:57 +0000 (21:47 +0100)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Tue, 23 Jul 2019 20:55:07 +0000 (21:55 +0100)
There is a bug in libdpkg-perl, where Dpkg::Source::Package installs a
handler on loading.  This has the effect of making in-process C
calls (eg to libcurl) uninterruptible by ^C.

Work around it by unconditionally resetting SIGINT.  (Anyone who
deliberately invoked us with SIGINT ignored deserves to keep all the
resulting pieces.)

See #932841.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
dgit

diff --git a/dgit b/dgit
index 7e975e121233455a192d1d6b440ee9ef32fef279..696978b2ee7abb53f26fa198652666b1e18c2e4d 100755 (executable)
--- a/dgit
+++ b/dgit
@@ -54,6 +54,8 @@ use Debian::Dgit;
 our $our_version = 'UNRELEASED'; ###substituted###
 our $absurdity = undef; ###substituted###
 
+$SIG{INT} = 'DEFAULT'; # work around #932841
+
 our @rpushprotovsn_support = qw(6 5 4); # Reverse order!
 our $protovsn;