Package: libdpkg-perl Version: 1.18.25 Severity: normal $ perl -we 'use Data::Dumper; print Dumper($SIG{INT})' $VAR1 = undef; $ perl -we 'use Data::Dumper; use Dpkg::Source::Package; print Dumper($SIG{INT})' $VAR1 = sub { "DUMMY" }; $
This is a problem because when a SIGINT handler is installed, perl will not immediately exit when it is in some other C library. For example, $ perl -we 'use Data::Dumper; use WWW::Curl::Easy; my $curl = WWW::Curl::Easy->new; $curl->setopt(CURLOPT_URL, "http://192.0.2.1"); $curl->perform()' ^C [returns prompt immediately] $ perl -we 'use Data::Dumper; use WWW::Curl::Easy; use Dpkg::Source::Package; my $curl = WWW::Curl::Easy->new; $curl->setopt(CURLOPT_URL, "http://192.0.2.1"); $curl->perform()' ^C [hangs] If libdpkg-perl needs a signal handler it should install it only during its own operations, probably localising it and arranging to chain to the original handler (if any) when it has done its own work. But I doubt the necessity. Thanks, Ian. -- System Information: Debian Release: 9.9 APT prefers oldstable-debug APT policy: (500, 'oldstable-debug'), (500, 'oldstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.19.0-0.bpo.5-amd64 (SMP w/4 CPU cores) Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE=C.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: sysvinit (via /sbin/init) Versions of packages libdpkg-perl depends on: ii dpkg 1.18.25 ii perl 5.24.1-3+deb9u5 Versions of packages libdpkg-perl recommends: ii bzip2 1.0.6-8.1 ii libfile-fcntllock-perl 0.22-3+b2 ii liblocale-gettext-perl 1.07-3+b1 ii xz-utils 5.2.2-1.2+b1 Versions of packages libdpkg-perl suggests: ii bcc [c-compiler] 0.16.17-3.2 ii binutils 2.28-5 ii debian-keyring 2017.05.28 ii gcc [c-compiler] 4:6.3.0-4 ii gcc-5 [c-compiler] 5.4.1-4 ii gcc-6 [c-compiler] 6.3.0-18+deb9u1 ii gnupg 2.1.18-8~deb9u4 ii gnupg2 2.1.18-8~deb9u4 ii gpgv 2.1.18-8~deb9u4 ii patch 2.7.5-1+deb9u1 -- no debconf information