From 6e7f872dfdf7de0108b07e3c8f1ccda57734e6f8 Mon Sep 17 00:00:00 2001
From: Michael Vogt <egon@tas>
Date: Wed, 12 Nov 2008 16:24:26 +0100
Subject: fix SIGHUP handling (closes: #463030)

---
 apt-pkg/deb/dpkgpm.cc | 5 +++++
 1 file changed, 5 insertions(+)

(limited to 'apt-pkg/deb')

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) 
       {
-- 
cgit v1.2.3