summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/AbstractPollTask.py
Commit message (Collapse)AuthorAgeFilesLines
* PollScheduler: remove register/unregister methodsZac Medico2012-10-051-1/+1
| | | | | | | These methods were aliases for the EventLoop io_add_watch and source_remove methods. Migrating to the EventLoop method names allows an EventLoop instance to substitute for a PollScheduler inside subclasses of AbstractPollTask.
* AsynchronousTask: don't wait for exit statusZac Medico2012-02-131-0/+1
| | | | | | Synchronous waiting for status is not supported, since it would be vulnerable to hitting the recursion limit when a large number of tasks need to be terminated simultaneously, like in bug #402335.
* AbstractPollTask: merge _wait from subclassZac Medico2012-02-111-0/+6
|
* Use IO_* constants where appropriate.Zac Medico2012-02-091-7/+13
|
* AbstractPollTask: use timeout_addZac Medico2012-02-071-14/+11
|
* AbstractPollTask: add _wait_loop methodZac Medico2012-02-071-1/+22
|
* AbstractPollTask: note PipeReaderArrayTestCasev2.2.0_alpha82Zac Medico2011-12-231-2/+2
|
* test_poll: fix array testZac Medico2011-12-161-0/+49
| | | | | Since SpawnProcess no longer uses array, add conditional array support to PipeReader and use that for tests.
* SpawnProcess/AbstractPollTask: eliminate arrayZac Medico2011-12-161-14/+6
| | | | | Since commit 30d2d0a9db486c5a70848ad5d27b37a3ec48f271, we use os.read() due to bugs in array.fromfile(). So, eliminate array usage entirely.
* Fix EIO handling for PollSelectAdapter.Zac Medico2011-12-161-2/+7
| | | | | | | | In PipeReader and AbstractPollTask, we have to treat EIO as EOF, in order to terminate the select loop at the correct time when using PollSelectAdapter. This fixes a regression in EIO handling since commits 915348ce34fc499ac295b8f0ffee9f0829803542 adn 30d2d0a9db486c5a70848ad5d27b37a3ec48f271.
* SpawnProcess: work around array.fromfile() bugsZac Medico2011-12-151-4/+19
| | | | | | When I extended test_poll to test SpawnProcess array.fromfile() usage, it exposed bugs in array.fromfile() that I couldn't find a way to handle. So, use os.read() instead.
* Scheduler: tweak prefetcher cancellation logicZac Medico2011-03-161-0/+3
| | | | | This should prevent "TypeError: an integer is required" raised from waitpid when trying to cancel a prefetcher that never started.
* AbstractPollTask: log exceptional eventsZac Medico2011-03-091-1/+10
| | | | | | | | | | | | | | | | 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
* Split out a AbstractPollTask._read_buf() helper method.Zac Medico2010-09-091-1/+24
|
* Add back the POLLHUP handling for now since PipeReaderTestCase breaksZac Medico2010-08-131-1/+5
| | | | without it.
* Stop handling POLLHUP events, since we're only polling for input andZac Medico2010-08-131-5/+1
| | | | | | POLLHUP is really intendend for purposes of output polling. Hopefully this solves a problem with POLLHUP events causing premature unregistration of event handlers (and subsequent hang in waitpid).
* Remove all svn $Id keywords.Zac Medico2010-03-241-1/+0
|
* Add/update copyright headers.Zac Medico2009-06-251-0/+4
| | | | svn path=/main/trunk/; revision=13690
* Bug #275047 - Split _emerge/__init__.py into smaller pieces. Thanks toZac Medico2009-06-221-0/+24
Sebastian Mingramm (few) <s.mingramm@gmx.de> for this patch. svn path=/main/trunk/; revision=13663