EbuildFetcher: use default SIGINT/TERM handlers
authorZac Medico <zmedico@gentoo.org>
Tue, 1 Feb 2011 04:33:48 +0000 (20:33 -0800)
committerZac Medico <zmedico@gentoo.org>
Tue, 1 Feb 2011 04:33:48 +0000 (20:33 -0800)
This seems to fix bug #353239.

pym/_emerge/EbuildFetcher.py

index 59076a8db89aa82f5c3a1b7cf39e9b661ffce7e2..0ea8dc7752ca6da58d68881e538900eeb5ec2c24 100644 (file)
@@ -5,6 +5,7 @@ import traceback
 
 from _emerge.SpawnProcess import SpawnProcess
 import copy
+import signal
 import sys
 import portage
 from portage import os
@@ -95,6 +96,11 @@ class EbuildFetcher(SpawnProcess):
 
                portage.process._setup_pipes(fd_pipes)
 
+               # Use default signal handlers in order to avoid problems
+               # killing subprocesses as reported in bug #353239.
+               signal.signal(signal.SIGINT, signal.SIG_DFL)
+               signal.signal(signal.SIGTERM, signal.SIG_DFL)
+
                # Force consistent color output, in case we are capturing fetch
                # output through a normal pipe due to unavailability of ptys.
                portage.output.havecolor = self._settings.get('NOCOLOR') \