diff options
author | Zac Medico <zmedico@gentoo.org> | 2012-02-10 13:58:17 -0800 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2012-02-10 13:58:17 -0800 |
commit | 8384ee6a6116a9055601fe7729026af2024f4fa0 (patch) | |
tree | 8b25df385d804596f38276436f0b8e63dc6c40e2 | |
parent | 57a1219ba81b8f7d9c9beecf27ed500da6239b3a (diff) | |
download | portage-8384ee6a6116a9055601fe7729026af2024f4fa0.tar.gz portage-8384ee6a6116a9055601fe7729026af2024f4fa0.tar.bz2 portage-8384ee6a6116a9055601fe7729026af2024f4fa0.zip |
Scheduler: cleanup timeout after _main_loop
The way we don't leave an leak a reference to the Scheduler instance
in the global EventLoop instance.
-rw-r--r-- | pym/_emerge/Scheduler.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/pym/_emerge/Scheduler.py b/pym/_emerge/Scheduler.py index 674a11e49..100d89d1c 100644 --- a/pym/_emerge/Scheduler.py +++ b/pym/_emerge/Scheduler.py @@ -196,8 +196,6 @@ class Scheduler(PollScheduler): self._status_display = JobStatusDisplay( xterm_titles=('notitles' not in settings.features)) - self.sched_iface.timeout_add(self._max_display_latency, - self._status_display.display) self._max_load = myopts.get("--load-average") max_jobs = myopts.get("--jobs") if max_jobs is None: @@ -1354,6 +1352,8 @@ class Scheduler(PollScheduler): failed_pkgs = self._failed_pkgs portage.locks._quiet = self._background portage.elog.add_listener(self._elog_listener) + display_timeout_id = self.sched_iface.timeout_add( + self._max_display_latency, self._status_display.display) rval = os.EX_OK try: @@ -1362,6 +1362,7 @@ class Scheduler(PollScheduler): self._main_loop_cleanup() portage.locks._quiet = False portage.elog.remove_listener(self._elog_listener) + self.sched_iface.source_remove(display_timeout_id) if failed_pkgs: rval = failed_pkgs[-1].returncode |