diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-02-08 21:17:18 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-02-08 21:17:18 -0800 |
commit | 7092cf7fcbd1c51bd739110baaea9da011c5ebf5 (patch) | |
tree | fd3a8316efdee1964ec68afde30723b4746ab711 | |
parent | 6823977b783a7205154af5f4234fe02982c62666 (diff) | |
download | portage-7092cf7fcbd1c51bd739110baaea9da011c5ebf5.tar.gz portage-7092cf7fcbd1c51bd739110baaea9da011c5ebf5.tar.bz2 portage-7092cf7fcbd1c51bd739110baaea9da011c5ebf5.zip |
MergeProcess: handle POLLHUP from elog pipe
-rw-r--r-- | pym/portage/dbapi/_MergeProcess.py | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/pym/portage/dbapi/_MergeProcess.py b/pym/portage/dbapi/_MergeProcess.py index eed7bd45f..da278ea2a 100644 --- a/pym/portage/dbapi/_MergeProcess.py +++ b/pym/portage/dbapi/_MergeProcess.py @@ -83,6 +83,13 @@ class MergeProcess(SpawnProcess): reporter = getattr(portage.elog.messages, funcname) reporter(msg, phase=phase, key=key, out=out) + if event & PollConstants.POLLHUP: + self.scheduler.unregister(self._elog_reg_id) + self._elog_reg_id = None + os.close(self._elog_reader_fd) + self._elog_reader_fd = None + return False + return True def _spawn(self, args, fd_pipes, **kwargs): |