diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-02-06 18:58:51 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-02-07 11:12:32 -0800 |
commit | 445a6ea22c132f4c06c2cc7c48ec6e7af7116962 (patch) | |
tree | b58ab2ad51696b7588a0a644e58ee6e4cc7329bf /pym/_emerge/SubProcess.py | |
parent | 839f369f259a7c019c1f544bf4c153058355f6d4 (diff) | |
download | portage-445a6ea22c132f4c06c2cc7c48ec6e7af7116962.tar.gz portage-445a6ea22c132f4c06c2cc7c48ec6e7af7116962.tar.bz2 portage-445a6ea22c132f4c06c2cc7c48ec6e7af7116962.zip |
Use timeout_add to avoid recursion, bug #402335.
Diffstat (limited to 'pym/_emerge/SubProcess.py')
-rw-r--r-- | pym/_emerge/SubProcess.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/pym/_emerge/SubProcess.py b/pym/_emerge/SubProcess.py index 37922dc66..c5cac7dde 100644 --- a/pym/_emerge/SubProcess.py +++ b/pym/_emerge/SubProcess.py @@ -16,6 +16,10 @@ class SubProcess(AbstractPollTask): # serve this purpose alone. _dummy_pipe_fd = 9 + # This is how much time we allow for waitpid to succeed after + # we've sent a kill signal to our subprocess. + _cancel_timeout = 1000 # 1 second + def _poll(self): if self.returncode is not None: return self.returncode @@ -60,7 +64,7 @@ class SubProcess(AbstractPollTask): if self._registered: if self.cancelled: - timeout = 1000 + timeout = self._cancel_timeout self.scheduler.schedule(self._reg_id, timeout=timeout) if self._registered: try: |