summaryrefslogtreecommitdiff
path: root/apt-pkg/deb/dpkgpm.cc
diff options
context:
space:
mode:
authorChristopher Baines <cbaines8@gmail.com>2011-08-01 12:27:10 +0100
committerChristopher Baines <cbaines8@gmail.com>2011-08-01 12:27:10 +0100
commit17182c0c66630c2fcba938edb5b27668f7495854 (patch)
treedf930bd62821bca7bfcc3c7f8579bdfed103f66a /apt-pkg/deb/dpkgpm.cc
parent1cecd4376cebdd0225ee91707b7630bc35959474 (diff)
Only stop on SigInt if the system state is right (still needs more testing).
More inprovements to the package manager to prevent packages from being configured twice.
Diffstat (limited to 'apt-pkg/deb/dpkgpm.cc')
-rw-r--r--apt-pkg/deb/dpkgpm.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/apt-pkg/deb/dpkgpm.cc b/apt-pkg/deb/dpkgpm.cc
index 479126658..68d9ca1de 100644
--- a/apt-pkg/deb/dpkgpm.cc
+++ b/apt-pkg/deb/dpkgpm.cc
@@ -1066,7 +1066,8 @@ bool pkgDPkgPM::Go(int OutStatusFd)
sighandler_t old_SIGINT = signal(SIGINT,SigINT);
// Check here for any SIGINT
- if (pkgPackageManager::SigINTStop) break;
+ if (pkgPackageManager::SigINTStop &&
+ (I->Op == Item::Install || I->Op == Item::Remove || I->Op == Item::Purge)) break;
// ignore SIGHUP as well (debian #463030)
sighandler_t old_SIGHUP = signal(SIGHUP,SIG_IGN);
@@ -1315,7 +1316,6 @@ bool pkgDPkgPM::Go(int OutStatusFd)
}
void SigINT(int sig) {
- cout << " -- SIGINT -- " << endl;
if (_config->FindB("APT::Immediate-Configure-All",false))
pkgPackageManager::SigINTStop = true;
}