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>
Mon, 14 Mar 2011 16:23:10 +0000 (09:23 -0700)
commit157382fae7b4b4c74a6f7ce319c602c269cc7e96
treecceb7c5dc066497f37ce1d241d8773a7f55dcba6
parentc1fba51ccab868d05f48fcc40bc2c959c9385e76
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