summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/FifoIpcDaemon.py
Commit message (Collapse)AuthorAgeFilesLines
* Enable FD_CLOEXEC for non-blocking pipes.Zac Medico2013-01-031-1/+28
|
* PollScheduler: remove register/unregister methodsZac Medico2012-10-051-4/+4
| | | | | | | 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.
* TaskScheduler: inherit AsyncSchedulerZac Medico2012-10-051-0/+2
| | | | This allows the QueueScheduler class to be eliminated.
* Use AbstractPollTask._wait_loop() more.Zac Medico2012-02-081-5/+1
|
* Use PollScheduler iteration method.Zac Medico2012-02-071-4/+3
|
* FifoIpcDaemon: use plain fd instead of fdopenZac Medico2011-12-131-8/+8
|
* AsynchronousTask: add _cancel template methodZac Medico2011-03-161-3/+1
|
* AsynchronousTask: always call wait() if cancelledZac Medico2011-03-161-2/+2
| | | | | | This is needed in order to ensure that exit listeners are called. Subclasses call the base class cancel() method in order to inherit the wait() call.
* Add FifoIpcDaemon._reopen_input() method.Zac Medico2010-10-061-0/+13
|
* Adjust EbuildIpcDaemon pickle read and write code in order to ensureZac Medico2010-09-021-1/+4
| | | | | atomc reading and writing of whole pickles. This should be the least error-prone approach, given the non-blocking nature of the streams.
* Split out an EbuildIpcDaemon class from FifoIpcDaemon.Zac Medico2010-08-121-42/+1
|
* Add some pieces of an IPC framework that will eventually allow ebuildZac Medico2010-08-121-0/+108
processes can to communicate with portage's main python process. Here are a few possible uses: 1) Robust subshell/subprocess die support. This allows the ebuild environment to reliably die without having to rely on signal IPC. 2) Delegation of portageq calls to the main python process, eliminating performance and userpriv permission issues. 3) Reliable ebuild termination in cases when the ebuild has accidentally left orphan processes running in the backgraound (as in bug 278895).