From f5e237f6489f232ec5ada8566e4c35618e9e6d13 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 6 Oct 2010 15:19:25 -0700 Subject: Add FifoIpcDaemon._reopen_input() method. --- pym/_emerge/FifoIpcDaemon.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'pym/_emerge/FifoIpcDaemon.py') 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 -- cgit v1.2.3-1-g7c22