diff options
-rw-r--r-- | pym/_emerge/AbstractEbuildProcess.py | 5 | ||||
-rw-r--r-- | pym/_emerge/AbstractPollTask.py | 11 |
2 files changed, 15 insertions, 1 deletions
diff --git a/pym/_emerge/AbstractEbuildProcess.py b/pym/_emerge/AbstractEbuildProcess.py index 601aafe0e..d7f31be28 100644 --- a/pym/_emerge/AbstractEbuildProcess.py +++ b/pym/_emerge/AbstractEbuildProcess.py @@ -228,6 +228,11 @@ class AbstractEbuildProcess(SpawnProcess): self.scheduler.output(msg, log_path=self.settings.get("PORTAGE_LOG_FILE")) + def _log_poll_exception(self, event): + self._elog("eerror", + ["%s received strange poll event: %s\n" % \ + (self.__class__.__name__, event,)]) + def _set_returncode(self, wait_retval): SpawnProcess._set_returncode(self, wait_retval) diff --git a/pym/_emerge/AbstractPollTask.py b/pym/_emerge/AbstractPollTask.py index 833ee3b4c..6cbf984b9 100644 --- a/pym/_emerge/AbstractPollTask.py +++ b/pym/_emerge/AbstractPollTask.py @@ -1,8 +1,10 @@ -# Copyright 1999-2010 Gentoo Foundation +# Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 import array +import logging +from portage.util import writemsg_level from _emerge.AsynchronousTask import AsynchronousTask from _emerge.PollConstants import PollConstants class AbstractPollTask(AsynchronousTask): @@ -39,9 +41,16 @@ class AbstractPollTask(AsynchronousTask): def _unregister(self): raise NotImplementedError(self) + def _log_poll_exception(self, event): + writemsg_level( + "!!! %s received strange poll event: %s\n" % \ + (self.__class__.__name__, event,), + level=logging.ERROR, noiselevel=-1) + def _unregister_if_appropriate(self, event): if self._registered: if event & self._exceptional_events: + self._log_poll_exception(event) self._unregister() self.cancel() elif event & PollConstants.POLLHUP: |