瀏覽代碼

fix SIGHUP handling (closes: #463030)

Michael Vogt 17 年之前
父節點
當前提交
73e598c3ac
共有 2 個文件被更改,包括 6 次插入0 次删除
  1. 5 0
      apt-pkg/deb/dpkgpm.cc
  2. 1 0
      debian/changelog

+ 5 - 0
apt-pkg/deb/dpkgpm.cc

@@ -778,6 +778,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;
@@ -889,6 +892,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");
 	 }
 
@@ -928,6 +932,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) 
       {

+ 1 - 0
debian/changelog

@@ -30,6 +30,7 @@ apt (0.7.17) UNRELEASED; urgency=low
     - add missing checks for Owner == 0 in end()
   * apt-pkg/deb/dpkgpm.cc:
     - fix potential hang when in a backgroud process group
+    - fix SIGHUP handling (closes: #463030)
   
   [ Dereck Wonnacott ]
   * apt-ftparchive might write corrupt Release files (LP: #46439)