diff options
author | Zac Medico <zmedico@gentoo.org> | 2010-10-06 15:19:25 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2010-10-06 17:22:04 -0700 |
commit | ab5e0d97e410c9fbb0ebe666e6abaf93d87b326e (patch) | |
tree | f04dedf02de464b4a4d53944b9f8ad6360098fa1 | |
parent | 8924bb398fd7110d38f4ba51a129d04a5622e852 (diff) | |
download | portage-ab5e0d97e410c9fbb0ebe666e6abaf93d87b326e.tar.gz portage-ab5e0d97e410c9fbb0ebe666e6abaf93d87b326e.tar.bz2 portage-ab5e0d97e410c9fbb0ebe666e6abaf93d87b326e.zip |
Add FifoIpcDaemon._reopen_input() method.
-rw-r--r-- | pym/_emerge/EbuildIpcDaemon.py | 10 | ||||
-rw-r--r-- | pym/_emerge/FifoIpcDaemon.py | 13 |
2 files changed, 14 insertions, 9 deletions
diff --git a/pym/_emerge/EbuildIpcDaemon.py b/pym/_emerge/EbuildIpcDaemon.py index e6ee82b1e..efcda9316 100644 --- a/pym/_emerge/EbuildIpcDaemon.py +++ b/pym/_emerge/EbuildIpcDaemon.py @@ -56,15 +56,7 @@ class EbuildIpcDaemon(FifoIpcDaemon): pass else: - # Re-open the input stream, in order to suppress - # POLLHUP events (bug #339976). - self._files.pipe_in.close() - input_fd = os.open(self.input_fifo, os.O_RDONLY|os.O_NONBLOCK) - self._files.pipe_in = os.fdopen(input_fd, 'rb', 0) - self.scheduler.unregister(self._reg_id) - self._reg_id = self.scheduler.register( - self._files.pipe_in.fileno(), - self._registered_events, self._input_handler) + self._reopen_input() cmd_key = obj[0] cmd_handler = self.commands[cmd_key] diff --git a/pym/_emerge/FifoIpcDaemon.py b/pym/_emerge/FifoIpcDaemon.py index b879fda95..ac83646b9 100644 --- a/pym/_emerge/FifoIpcDaemon.py +++ b/pym/_emerge/FifoIpcDaemon.py @@ -27,6 +27,19 @@ class FifoIpcDaemon(AbstractPollTask): self._registered = True + def _reopen_input(self): + """ + Re-open the input stream, in order to suppress + POLLHUP events (bug #339976). + """ + self._files.pipe_in.close() + input_fd = os.open(self.input_fifo, os.O_RDONLY|os.O_NONBLOCK) + self._files.pipe_in = os.fdopen(input_fd, 'rb', 0) + self.scheduler.unregister(self._reg_id) + self._reg_id = self.scheduler.register( + self._files.pipe_in.fileno(), + self._registered_events, self._input_handler) + def isAlive(self): return self._registered |