summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/dpkgpm.cc
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 /apt-pkg/deb/dpkgpm.cc
parentc498e8d049f446c192446cf879728eacbd81cead (diff)
fix SIGHUP handling (closes: #463030)
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r--apt-pkg/deb/dpkgpm.cc5
1 files changed, 5 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)
{