summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Vogt <egon@tas>2008-11-12 16:24:26 +0100
committerMichael Vogt <egon@tas>2008-11-12 16:24:26 +0100
commit6e7f872dfdf7de0108b07e3c8f1ccda57734e6f8 (patch)
tree0a94cadf28310351306e18d82c5e4a8f47ada04c
parentc498e8d049f446c192446cf879728eacbd81cead (diff)
fix SIGHUP handling (closes: #463030)
-rw-r--r--apt-pkg/deb/dpkgpm.cc5
-rw-r--r--debian/changelog3
2 files changed, 8 insertions, 0 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 85cf4e119..5359f81ef 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -773,6 +773,9 @@ bool pkgDPkgPM::Go(int OutStatusFd)
sighandler_t old_SIGQUIT = signal(SIGQUIT,SIG_IGN);
sighandler_t old_SIGINT = signal(SIGINT,SIG_IGN);
+ // ignore SIGHUP as well (debian #463030)
+ sighandler_t old_SIGHUP = signal(SIGHUP,SIG_IGN);
+
struct termios tt;
struct termios tt_out;
struct winsize win;
@@ -881,6 +884,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
// Restore sig int/quit
signal(SIGQUIT,old_SIGQUIT);
signal(SIGINT,old_SIGINT);
+ signal(SIGINT,old_SIGHUP);
return _error->Errno("waitpid","Couldn't wait for subprocess");
}
@@ -920,6 +924,7 @@ bool pkgDPkgPM::Go(int OutStatusFd)
// Restore sig int/quit
signal(SIGQUIT,old_SIGQUIT);
signal(SIGINT,old_SIGINT);
+ signal(SIGINT,old_SIGHUP);
if(master >= 0)
{
diff --git a/debian/changelog b/debian/changelog
index e7309d577..27f78e958 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -13,6 +13,9 @@ apt (0.7.19) unstable; urgency=low
is a request to install only one package and it is not installable.
(Closes: #419521)
+ [ Michael Vogt ]
+ - fix SIGHUP handling (closes: #463030)
+
-- Eugene V. Lyubimkin <jackyf.devel@gmail.com> Sat, 08 Nov 2008 12:40:19 +0200
apt (0.7.18) unstable; urgency=low