From b1637bc9d66bbee3a036dae968ef05aa4d4ac15d Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Thu, 3 Jan 2013 18:23:42 -0800 Subject: portage._internal_caller: use global_event_loop It's more efficient to use global_event_loop than a local EventLoop instance, so do that when we know it's safe. --- pym/portage/dbapi/vartree.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'pym/portage/dbapi') diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py index 7a930e553..beff5bdc6 100644 --- a/pym/portage/dbapi/vartree.py +++ b/pym/portage/dbapi/vartree.py @@ -1,4 +1,4 @@ -# Copyright 1998-2012 Gentoo Foundation +# Copyright 1998-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 __all__ = [ @@ -34,6 +34,7 @@ portage.proxy.lazyimport.lazyimport(globals(), 'portage.util._dyn_libs.LinkageMapELF:LinkageMapELF@LinkageMap', 'portage.util._async.SchedulerInterface:SchedulerInterface', 'portage.util._eventloop.EventLoop:EventLoop', + 'portage.util._eventloop.global_event_loop:global_event_loop', 'portage.versions:best,catpkgsplit,catsplit,cpv_getkey,vercmp,' + \ '_pkgsplit@pkgsplit,_pkg_str,_unknown_repo', 'subprocess', @@ -1800,7 +1801,8 @@ class dblink(object): if self._scheduler is None: # We create a scheduler instance and use it to # log unmerge output separately from merge output. - self._scheduler = SchedulerInterface(EventLoop(main=False)) + self._scheduler = SchedulerInterface(portage._internal_caller and + global_event_loop() or EventLoop(main=False)) if self.settings.get("PORTAGE_BACKGROUND") == "subprocess": if self.settings.get("PORTAGE_BACKGROUND_UNMERGE") == "1": self.settings["PORTAGE_BACKGROUND"] = "1" @@ -4742,7 +4744,8 @@ class dblink(object): proc = SyncfsProcess(paths=paths, scheduler=(self._scheduler or - SchedulerInterface(EventLoop(main=False)))) + SchedulerInterface(portage._internal_caller and + global_event_loop() or EventLoop(main=False)))) proc.start() returncode = proc.wait() @@ -4766,7 +4769,8 @@ class dblink(object): self.lockdb() self.vartree.dbapi._bump_mtime(self.mycpv) if self._scheduler is None: - self._scheduler = SchedulerInterface(EventLoop(main=False)) + self._scheduler = SchedulerInterface(portage._internal_caller and + global_event_loop() or EventLoop(main=False)) try: retval = self.treewalk(mergeroot, myroot, inforoot, myebuild, cleanup=cleanup, mydbapi=mydbapi, prev_mtimes=prev_mtimes, @@ -4950,7 +4954,8 @@ def merge(mycat, mypkg, pkgloc, infloc, merge_task = MergeProcess( mycat=mycat, mypkg=mypkg, settings=settings, treetype=mytree, vartree=vartree, - scheduler=(scheduler or EventLoop(main=False)), + scheduler=(scheduler or portage._internal_caller and + global_event_loop() or EventLoop(main=False)), background=background, blockers=blockers, pkgloc=pkgloc, infloc=infloc, myebuild=myebuild, mydbapi=mydbapi, prev_mtimes=prev_mtimes, logfile=settings.get('PORTAGE_LOG_FILE')) -- cgit v1.2.3-1-g7c22