diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-01-15 19:43:35 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-01-16 12:33:58 -0800 |
commit | 7acdb0fcde50afbbc93f84caa2dab41d8d78300d (patch) | |
tree | 4d36eeedfa6985013fae36ec390b909767e2bd5f /bin | |
parent | 8f743b9871c5d348ab9caab7910b9333ea051901 (diff) | |
download | portage-7acdb0fcde50afbbc93f84caa2dab41d8d78300d.tar.gz portage-7acdb0fcde50afbbc93f84caa2dab41d8d78300d.tar.bz2 portage-7acdb0fcde50afbbc93f84caa2dab41d8d78300d.zip |
Tweak PollScheduler signal handling.
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/egencache | 10 |
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 |