summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-08-13 21:29:54 -0700
committerZac Medico <zmedico@gentoo.org>2010-08-13 21:29:54 -0700
commit8b73b101f9f5bc9892b2b8f651625fba372c2db6 (patch)
treec9128e1c0ae098a1dca453af735662add2415d28
parent20bbc6397a97c9eaae672070b9c54b566070d1ff (diff)
downloadportage-8b73b101f9f5bc9892b2b8f651625fba372c2db6.tar.gz
portage-8b73b101f9f5bc9892b2b8f651625fba372c2db6.tar.bz2
portage-8b73b101f9f5bc9892b2b8f651625fba372c2db6.zip
Stop handling POLLHUP events, since we're only polling for input and
POLLHUP is really intendend for purposes of output polling. Hopefully this solves a problem with POLLHUP events causing premature unregistration of event handlers (and subsequent hang in waitpid).
-rw-r--r--pym/_emerge/AbstractPollTask.py6
1 files changed, 1 insertions, 5 deletions
diff --git a/pym/_emerge/AbstractPollTask.py b/pym/_emerge/AbstractPollTask.py
index 1feee15f6..b654a615f 100644
--- a/pym/_emerge/AbstractPollTask.py
+++ b/pym/_emerge/AbstractPollTask.py
@@ -10,7 +10,7 @@ class AbstractPollTask(AsynchronousTask):
_bufsize = 4096
_exceptional_events = PollConstants.POLLERR | PollConstants.POLLNVAL
- _registered_events = PollConstants.POLLIN | PollConstants.POLLHUP | \
+ _registered_events = PollConstants.POLLIN | \
_exceptional_events
def _unregister(self):
@@ -21,7 +21,3 @@ class AbstractPollTask(AsynchronousTask):
if event & self._exceptional_events:
self._unregister()
self.cancel()
- elif event & PollConstants.POLLHUP:
- self._unregister()
- self.wait()
-