AbstractPollTask: log exceptional events
authorZac Medico <zmedico@gentoo.org>
Thu, 10 Mar 2011 05:46:17 +0000 (21:46 -0800)
committerZac Medico <zmedico@gentoo.org>
Thu, 10 Mar 2011 05:55:11 +0000 (21:55 -0800)
commitc649695a92379892a1d545edd12c2bb3dc8c7e41
tree0f896329bd36522f77081c1eceeaba0e7b423018
parent6b604d43c68cab45ea5668042a53c23d4012bb18
AbstractPollTask: log exceptional events

Previously, when AbstractPollTask receives a POLLERR or POLLNVAL event,
it would silently cancel the task. Now it will generate a message like
this:

   !!! SpawnProcess received strange poll event: 8

The message is displayed via a new _log_poll_exception method, which
is overridden by AbstractEbuildProcess to log the message via elog.

This might help diagnose reported cases of SIGTERM signals killing
ebuild processes for no apparent reason:

   http://code.google.com/p/chromium-os/issues/detail?id=12968
pym/_emerge/AbstractEbuildProcess.py
pym/_emerge/AbstractPollTask.py