From: Zac Medico Date: Sat, 14 Aug 2010 04:29:54 +0000 (-0700) Subject: Stop handling POLLHUP events, since we're only polling for input and X-Git-Tag: v2.2_rc68~227 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=8b73b101f9f5bc9892b2b8f651625fba372c2db6;p=portage.git 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). --- 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() -