summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* PollScheduler: use idle_add to check terminationZac Medico2012-02-122-22/+41
| | | | | | | | | This fixes a regression in termination signal handling since commit 8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, which cause termination signals to be ignored until a running job had exited. This regression is not really noticeable for Ctrl-C handling, since in that case the SIGINT propagets to subprocesses, causing them to exit and trigger a _schedule() call whichtriggers a termination check.
* repoman: check for env-update, bug #402339Zac Medico2012-02-121-1/+1
|
* Scheduler: simplify _sched_iface constructionv2.2.0_alpha86Zac Medico2012-02-111-14/+3
|
* EbuildIpcDaemon: handle POLLHUP, bug #401919Zac Medico2012-02-111-0/+24
|
* AbstractPollTask: merge _wait from subclassZac Medico2012-02-112-12/+6
|
* xpak.unpackinfo: validate paths, bug #403149Zac Medico2012-02-111-24/+20
|
* QueueScheduler: tweak run loop logicZac Medico2012-02-111-5/+5
|
* EventLoop.iteration: handle _poll StopIterationZac Medico2012-02-111-1/+7
|
* MetadataRegen: use porttreesZac Medico2012-02-111-1/+4
|
* _emerge.MetadataRegen.MetadataRegen._iter_metadata_processes():Arfrever Frehtes Taifersar Arahesis2012-02-111-21/+23
| | | | Regenerate metadata for given cpv in each repository.
* EventLoop: remove obsolete timeout_add commentZac Medico2012-02-111-7/+0
|
* EventLoop.iteration: run timeouts if no fdsZac Medico2012-02-111-1/+9
|
* PollScheduler: return None from _schedule_tasksZac Medico2012-02-113-15/+12
| | | | The _keep_scheduling() template method is used instead.
* QueueScheduler: timeout compat for GlibEventLoopZac Medico2012-02-111-10/+19
| | | | | | | | Raising StopIteration doesn't work with GlibEventLoop, since it catches all exceptions and logs them. So, just use a boolean expression to terminate the while loop. This depends on commit dcb9fab8463996542d06d29bc383f5933bf0d677 so that IpcDaemonTestCase timeouts work correctly with both EventLoop and GlibEventLoop.
* EventLoop: shorten iteration poll if timeoutsZac Medico2012-02-111-1/+1
| | | | | | | | | This fixes EventLoop.iteration() so that it doesn't poll too long when there are timeouts registered, since it's not nice to spend a long time polling for an IO event that might never arrive even though a timeout may have changed some state that would terminate a timeout loop like in QueueScheduler.run() or AbstractPollTask._wait_loop(). This makes EventLoop.iteration() behave more like GlibEventLoop.iteration().
* Fix FEATURES=no{doc,info,man} for bug #403181Zac Medico2012-02-111-1/+4
| | | | | This has been broken since commit 93b654199a32fc3df1299b030317720b9294b0c3.
* repoman: no ChangeLog for Manifest-only commitZac Medico2012-02-101-0/+9
| | | | | Use --echangelog=force to force ChangeLog generation in this case. See bug #398009.
* display_autounmask: highlight config changesZac Medico2012-02-101-4/+12
| | | | | | As suggested here: http://archives.gentoo.org/gentoo-dev/msg_06a47ad55977f4d16bfe18769c6c38b8.xml
* GlibEventLoop: use gi.repository.GLibZac Medico2012-02-101-5/+1
|
* PollScheduler: add generic _main_loop()Zac Medico2012-02-104-27/+30
|
* repoman: support PORTAGE_CONFIGROOT, bug 402577Zac Medico2012-02-101-2/+4
|
* repoman: remove redundant config constructorZac Medico2012-02-101-2/+0
|
* Scheduler: cleanup timeout after _main_loopZac Medico2012-02-101-2/+3
| | | | | The way we don't leave an leak a reference to the Scheduler instance in the global EventLoop instance.
* EbuildMerge: add exit_hook to unlock build dirZac Medico2012-02-103-5/+7
| | | | | | | | This is needed since commit 7a6c34cc6bd6eb20a97e05347f87a0157f4ae58a in order to ensure that the build dir is unlocked before exit listeners are called. It fixes failures in catalyst stage 1 builds where two instances of the same package, built sequentially for separate roots, interfere with eachother's build dir lock.
* Use IO_* constants where appropriate.Zac Medico2012-02-097-23/+38
|
* EventLoop: name poll constants like glib'sZac Medico2012-02-092-1/+14
| | | | | | It's conceivable the constants could be implementation dependent, so use glib's generic IO_* names rather than the POLL* names which are associated specifically with python's select.poll object.
* EventLoop: inherit PollConstantsZac Medico2012-02-091-1/+1
|
* Add global_event_loop() and GlibEventLoop.Zac Medico2012-02-094-2/+60
| | | | | | This causes all PollScheduler instances within a given process to share a singleton EventLoop instance, and also makes it possible to swap in glib's main loop for all portage event loops in the main process.
* AsynchronousTask: exit listeners reverse orderZac Medico2012-02-091-1/+5
| | | | | | This should fix a Scheduler hang which is triggered when that merge queue, a SequentialTaskQueue, doesn't decrement its merge count until after other exit listeners have already run.
* QueueScheduler: fix for IpcDaemonTestCaseZac Medico2012-02-091-1/+3
| | | | | Use a StopIteration exception to jump out of EventLoop.iterate() before the poll loop.
* EventLoop: fix inverted may_block logicZac Medico2012-02-081-2/+2
| | | | This caused emerge to consume 100% cpu.
* Move EventLoop to a separate file.Zac Medico2012-02-083-366/+375
|
* Use AbstractPollTask._wait_loop() more.Zac Medico2012-02-083-13/+4
|
* MergeProcess: handle POLLHUP from elog pipeZac Medico2012-02-081-0/+7
|
* PollScheduler: remove _poll_loopZac Medico2012-02-083-33/+13
| | | | | We can use iteration() instead, and _poll_loop's exit behavior doesn't seem practical to emulate with glib.MainLoop.
* test_poll: use TaskSchedulerZac Medico2012-02-081-7/+7
|
* PollScheduler: remove EventLoop._schedule hookZac Medico2012-02-081-12/+5
| | | | | PollScheduler and subclasses be should already be calling self._schedule() when necessary.
* Scheduler: tweak _add_prefetchersZac Medico2012-02-081-8/+6
| | | | | Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the first prefetcher is started as soon as it's added to the task queue.
* SequentialTaskQueue: use finally for _schedulingZac Medico2012-02-081-33/+13
| | | | Also, remove unecessary _dirty flag.
* IpcDaemonTestCase: init start_time earlierZac Medico2012-02-081-2/+2
| | | | | | Since commit 4620d6aba1c5c10344e311585516ee43819b703c, the SequentialTaskQueue.add() method starts the task immediately, so initialize start_time before that happens.
* SequentialTaskQueue: schedule automaticallyZac Medico2012-02-082-8/+11
| | | | | | | This is needed to compensate for the removal of _idle_schedule in commit 8c1fcf5a9ba9fa4d406a4d0cc284fe73a84f5a63, so that the Scheduler's task queues operate without needing their schedule methods called inside Scheduler._schedule_tasks().
* Scheduler: remove _idle_scheduleZac Medico2012-02-081-5/+0
| | | | | This shouldn't be needed, since _schedule() should already be called automatically when there are any relevant state changes.
* EventLoop: use same method names as glibZac Medico2012-02-082-23/+23
|
* PollScheduler: don't inherit EventLoopZac Medico2012-02-085-29/+31
|
* PollScheduler: split out EventLoop base classZac Medico2012-02-081-106/+116
|
* repoman: make SRC_URI.mirror fatalZac Medico2012-02-081-1/+0
| | | | Thanks to Christian Ruppert <idl0r@gentoo.org> for the suggestion.
* repoman: normalize thirdpartymirrors trailing /Zac Medico2012-02-081-1/+4
|
* AbstractPollTask: use timeout_addZac Medico2012-02-071-14/+11
|
* QueueScheduler: tweak timeout handlingZac Medico2012-02-071-13/+14
|
* PollScheduler: remove _schedule_waitZac Medico2012-02-072-48/+2
|