summaryrefslogtreecommitdiffstats
path: root/bin/egencache
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-01-15 19:43:35 -0800
committerZac Medico <zmedico@gentoo.org>2011-01-15 19:43:35 -0800
commitf707221b69ed913b7a1cb66c7ab45be2d1586f7c (patch)
treed45571c3576a17df3bbf50073544a0573599974c /bin/egencache
parent3119eb0c7ae911e14f78624763cc79edfe953ad8 (diff)
downloadportage-f707221b69ed913b7a1cb66c7ab45be2d1586f7c.tar.gz
portage-f707221b69ed913b7a1cb66c7ab45be2d1586f7c.tar.bz2
portage-f707221b69ed913b7a1cb66c7ab45be2d1586f7c.zip
Tweak PollScheduler signal handling.
Diffstat (limited to 'bin/egencache')
-rwxr-xr-xbin/egencache10
1 files changed, 7 insertions, 3 deletions
diff --git a/bin/egencache b/bin/egencache
index bf729c380..76dd900e7 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -272,15 +272,19 @@ class GenCache(object):
try:
self._regen.run()
-
- if received_signal:
- sys.exit(received_signal[0])
finally:
# Restore previous handlers
if earlier_sigint_handler is not None:
signal.signal(signal.SIGINT, earlier_sigint_handler)
+ else:
+ signal.signal(signal.SIGINT, signal.SIG_DFL)
if earlier_sigterm_handler is not None:
signal.signal(signal.SIGTERM, earlier_sigterm_handler)
+ else:
+ signal.signal(signal.SIGTERM, signal.SIG_DFL)
+
+ if received_signal:
+ sys.exit(received_signal[0])
self.returncode |= self._regen.returncode
cp_missing = self._cp_missing