commit:     8084f01891f4110894054f999acc21b7a3899833
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Sat May 18 21:53:31 2019 +0000
Commit:     Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Sat May 18 21:56:37 2019 +0000
URL:        https://gitweb.gentoo.org/proj/portage.git/commit/?id=8084f018

Use _safe_loop where applicable

Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>

 lib/_emerge/PollScheduler.py                 |  6 +++---
 lib/_emerge/depgraph.py                      |  4 ++--
 lib/portage/dbapi/vartree.py                 | 19 +++++++------------
 lib/portage/emaint/modules/sync/sync.py      |  6 +++---
 lib/portage/package/ebuild/_spawn_nofetch.py |  6 +++---
 lib/portage/package/ebuild/doebuild.py       | 19 +++++++------------
 6 files changed, 25 insertions(+), 35 deletions(-)

diff --git a/lib/_emerge/PollScheduler.py b/lib/_emerge/PollScheduler.py
index 569879b36..e90830885 100644
--- a/lib/_emerge/PollScheduler.py
+++ b/lib/_emerge/PollScheduler.py
@@ -1,4 +1,4 @@
-# Copyright 1999-2013 Gentoo Foundation
+# Copyright 1999-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 try:
@@ -7,6 +7,7 @@ except ImportError:
        import dummy_threading as threading
 
 import portage
+from portage.util.futures import asyncio
 from portage.util._async.SchedulerInterface import SchedulerInterface
 from portage.util._eventloop.EventLoop import EventLoop
 from portage.util._eventloop.global_event_loop import global_event_loop
@@ -38,8 +39,7 @@ class PollScheduler(object):
                elif main:
                        self._event_loop = global_event_loop()
                else:
-                       self._event_loop = (portage._internal_caller and
-                               global_event_loop() or EventLoop(main=False))
+                       self._event_loop = asyncio._safe_loop()
                self._sched_iface = SchedulerInterface(self._event_loop,
                        is_background=self._is_background)
 

diff --git a/lib/_emerge/depgraph.py b/lib/_emerge/depgraph.py
index 32b2d7da3..3e99ac077 100644
--- a/lib/_emerge/depgraph.py
+++ b/lib/_emerge/depgraph.py
@@ -47,6 +47,7 @@ from portage.util import cmp_sort_key, writemsg, 
writemsg_stdout
 from portage.util import ensure_dirs
 from portage.util import writemsg_level, write_atomic
 from portage.util.digraph import digraph
+from portage.util.futures import asyncio
 from portage.util._async.TaskScheduler import TaskScheduler
 from portage.util._eventloop.EventLoop import EventLoop
 from portage.util._eventloop.global_event_loop import global_event_loop
@@ -605,8 +606,7 @@ class depgraph(object):
                self._select_atoms = self._select_atoms_highest_available
                self._select_package = self._select_pkg_highest_available
 
-               self._event_loop = (portage._internal_caller and
-                       global_event_loop() or EventLoop(main=False))
+               self._event_loop = asyncio._safe_loop()
 
                self._select_atoms_parent = None
 

diff --git a/lib/portage/dbapi/vartree.py b/lib/portage/dbapi/vartree.py
index 63389f9a3..e2fce7736 100644
--- a/lib/portage/dbapi/vartree.py
+++ b/lib/portage/dbapi/vartree.py
@@ -1,4 +1,4 @@
-# Copyright 1998-2018 Gentoo Foundation
+# Copyright 1998-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 from __future__ import division, unicode_literals
@@ -58,6 +58,7 @@ from portage.exception import CommandNotFound, \
        InvalidData, InvalidLocation, InvalidPackageName, \
        FileNotFound, PermissionDenied, UnsupportedAPIException
 from portage.localization import _
+from portage.util.futures import asyncio
 
 from portage import abssymlink, _movefile, bsd_chflags
 
@@ -1406,8 +1407,7 @@ class vardbapi(dbapi):
 
                        # Do work via the global event loop, so that it can be 
used
                        # for indication of progress during the search (bug 
#461412).
-                       event_loop = (portage._internal_caller and
-                               global_event_loop() or EventLoop(main=False))
+                       event_loop = asyncio._safe_loop()
                        root = self._vardb._eroot
 
                        def search_pkg(cpv, search_future):
@@ -1998,8 +1998,7 @@ 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(portage._internal_caller and
-                               global_event_loop() or EventLoop(main=False))
+                       self._scheduler = 
SchedulerInterface(asyncio._safe_loop())
                if self.settings.get("PORTAGE_BACKGROUND") == "subprocess":
                        if self.settings.get("PORTAGE_BACKGROUND_UNMERGE") == 
"1":
                                self.settings["PORTAGE_BACKGROUND"] = "1"
@@ -5141,9 +5140,7 @@ class dblink(object):
                        paths = tuple(paths)
 
                        proc = SyncfsProcess(paths=paths,
-                               scheduler=(self._scheduler or
-                                       portage._internal_caller and 
global_event_loop() or
-                                       EventLoop(main=False)))
+                               scheduler=(self._scheduler or 
asyncio._safe_loop()))
                        proc.start()
                        returncode = proc.wait()
 
@@ -5168,8 +5165,7 @@ class dblink(object):
                        self.lockdb()
                self.vartree.dbapi._bump_mtime(self.mycpv)
                if self._scheduler is None:
-                       self._scheduler = 
SchedulerInterface(portage._internal_caller and
-                               global_event_loop() or EventLoop(main=False))
+                       self._scheduler = 
SchedulerInterface(asyncio._safe_loop())
                try:
                        retval = self.treewalk(mergeroot, myroot, inforoot, 
myebuild,
                                cleanup=cleanup, mydbapi=mydbapi, 
prev_mtimes=prev_mtimes,
@@ -5375,8 +5371,7 @@ def merge(mycat, mypkg, pkgloc, infloc,
        merge_task = MergeProcess(
                mycat=mycat, mypkg=mypkg, settings=settings,
                treetype=mytree, vartree=vartree,
-               scheduler=(scheduler or portage._internal_caller and
-                       global_event_loop() or EventLoop(main=False)),
+               scheduler=(scheduler or asyncio._safe_loop()),
                background=background, blockers=blockers, pkgloc=pkgloc,
                infloc=infloc, myebuild=myebuild, mydbapi=mydbapi,
                prev_mtimes=prev_mtimes, 
logfile=settings.get('PORTAGE_LOG_FILE'),

diff --git a/lib/portage/emaint/modules/sync/sync.py 
b/lib/portage/emaint/modules/sync/sync.py
index ebdc362e1..e28c42336 100644
--- a/lib/portage/emaint/modules/sync/sync.py
+++ b/lib/portage/emaint/modules/sync/sync.py
@@ -1,4 +1,4 @@
-# Copyright 2014-2017 Gentoo Foundation
+# Copyright 2014-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import logging
@@ -14,6 +14,7 @@ from portage._global_updates import _global_updates
 from portage.sync.controller import SyncManager
 from portage.util import writemsg_level
 from portage.util.digraph import digraph
+from portage.util.futures import asyncio
 from portage.util._async.AsyncScheduler import AsyncScheduler
 from portage.util._eventloop.global_event_loop import global_event_loop
 from portage.util._eventloop.EventLoop import EventLoop
@@ -232,8 +233,7 @@ class SyncRepos(object):
                sync_scheduler = SyncScheduler(emerge_config=self.emerge_config,
                        selected_repos=selected_repos, 
sync_manager=sync_manager,
                        max_jobs=max_jobs,
-                       event_loop=global_event_loop() if 
portage._internal_caller else
-                               EventLoop(main=False))
+                       event_loop=asyncio._safe_loop())
 
                sync_scheduler.start()
                sync_scheduler.wait()

diff --git a/lib/portage/package/ebuild/_spawn_nofetch.py 
b/lib/portage/package/ebuild/_spawn_nofetch.py
index bbfd5b72b..980d7f629 100644
--- a/lib/portage/package/ebuild/_spawn_nofetch.py
+++ b/lib/portage/package/ebuild/_spawn_nofetch.py
@@ -1,4 +1,4 @@
-# Copyright 2010-2013 Gentoo Foundation
+# Copyright 2010-2019 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 import tempfile
@@ -11,6 +11,7 @@ from portage.elog import elog_process
 from portage.package.ebuild.config import config
 from portage.package.ebuild.doebuild import doebuild_environment
 from portage.package.ebuild.prepare_build_dirs import prepare_build_dirs
+from portage.util.futures import asyncio
 from portage.util._async.SchedulerInterface import SchedulerInterface
 from portage.util._eventloop.EventLoop import EventLoop
 from portage.util._eventloop.global_event_loop import global_event_loop
@@ -117,8 +118,7 @@ def spawn_nofetch(portdb, ebuild_path, settings=None, 
fd_pipes=None):
        nofetch = SpawnNofetchWithoutBuilddir(background=False,
                portdb=portdb,
                ebuild_path=ebuild_path,
-               scheduler=SchedulerInterface(portage._internal_caller and
-                               global_event_loop() or EventLoop(main=False)),
+               scheduler=SchedulerInterface(asyncio._safe_loop()),
                fd_pipes=fd_pipes, settings=settings)
 
        nofetch.start()

diff --git a/lib/portage/package/ebuild/doebuild.py 
b/lib/portage/package/ebuild/doebuild.py
index cf95dc406..bea5535bd 100644
--- a/lib/portage/package/ebuild/doebuild.py
+++ b/lib/portage/package/ebuild/doebuild.py
@@ -82,6 +82,7 @@ from portage.util import ( apply_recursive_permissions,
 from portage.util.cpuinfo import get_cpu_count
 from portage.util.lafilefixer import rewrite_lafile
 from portage.util.compression_probe import _compressors
+from portage.util.futures import asyncio
 from portage.util.path import first_existing
 from portage.util.socks5 import get_socks5_proxy
 from portage.versions import _pkgsplit
@@ -198,8 +199,7 @@ def _spawn_phase(phase, settings, actionmap=None, 
returnpid=False,
        # The logfile argument is unused here, since EbuildPhase uses
        # the PORTAGE_LOG_FILE variable if set.
        ebuild_phase = EbuildPhase(actionmap=actionmap, background=False,
-               phase=phase, 
scheduler=SchedulerInterface(portage._internal_caller and
-                       global_event_loop() or EventLoop(main=False)),
+               phase=phase, scheduler=SchedulerInterface(asyncio._safe_loop()),
                settings=settings, **kwargs)
 
        ebuild_phase.start()
@@ -830,8 +830,7 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, 
settings=None, debug=0,
                        if not returnpid and \
                                'PORTAGE_BUILDDIR_LOCKED' not in mysettings:
                                builddir_lock = EbuildBuildDir(
-                                       scheduler=(portage._internal_caller and
-                                               global_event_loop() or 
EventLoop(main=False)),
+                                       scheduler=asyncio._safe_loop(),
                                        settings=mysettings)
                                builddir_lock.scheduler.run_until_complete(
                                        builddir_lock.async_lock())
@@ -957,8 +956,7 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, 
settings=None, debug=0,
                                        if builddir_lock is None and \
                                                'PORTAGE_BUILDDIR_LOCKED' not 
in mysettings:
                                                builddir_lock = EbuildBuildDir(
-                                                       
scheduler=(portage._internal_caller and
-                                                               
global_event_loop() or EventLoop(main=False)),
+                                                       
scheduler=asyncio._safe_loop(),
                                                        settings=mysettings)
                                                
builddir_lock.scheduler.run_until_complete(
                                                        
builddir_lock.async_lock())
@@ -982,8 +980,7 @@ def doebuild(myebuild, mydo, _unused=DeprecationWarning, 
settings=None, debug=0,
                        if not returnpid and \
                                'PORTAGE_BUILDDIR_LOCKED' not in mysettings:
                                builddir_lock = EbuildBuildDir(
-                                       scheduler=(portage._internal_caller and
-                                               global_event_loop() or 
EventLoop(main=False)),
+                                       scheduler=asyncio._safe_loop(),
                                        settings=mysettings)
                                builddir_lock.scheduler.run_until_complete(
                                        builddir_lock.async_lock())
@@ -1331,8 +1328,7 @@ def _prepare_env_file(settings):
        """
 
        env_extractor = BinpkgEnvExtractor(background=False,
-               scheduler=(portage._internal_caller and
-                       global_event_loop() or EventLoop(main=False)),
+               scheduler=asyncio._safe_loop(),
                settings=settings)
 
        if env_extractor.dest_env_exists():
@@ -1658,8 +1654,7 @@ def spawn(mystring, mysettings, debug=False, free=False, 
droppriv=False,
 
                proc = EbuildSpawnProcess(
                        background=False, args=mystring,
-                       scheduler=SchedulerInterface(portage._internal_caller 
and
-                               global_event_loop() or EventLoop(main=False)),
+                       scheduler=SchedulerInterface(asyncio._safe_loop()),
                        spawn_func=spawn_func,
                        settings=mysettings, **keywords)
 

Reply via email to