summaryrefslogtreecommitdiffstats
path: root/pym/_emerge/BinpkgFetcher.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-16 00:21:03 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-16 00:21:03 -0700
commite26008ef6eea54c04d3fe62a0e657e4a4581025a (patch)
treeb781504da3a8236d84a2f4888b1b7f80a482364b /pym/_emerge/BinpkgFetcher.py
parentaeaa86486d9ea5a799c49bf8baa9a24a87ccb4de (diff)
downloadportage-e26008ef6eea54c04d3fe62a0e657e4a4581025a.tar.gz
portage-e26008ef6eea54c04d3fe62a0e657e4a4581025a.tar.bz2
portage-e26008ef6eea54c04d3fe62a0e657e4a4581025a.zip
BinpkgFetcher: handle AsynchronousLock failure
Diffstat (limited to 'pym/_emerge/BinpkgFetcher.py')
-rw-r--r--pym/_emerge/BinpkgFetcher.py7
1 files changed, 6 insertions, 1 deletions
diff --git a/pym/_emerge/BinpkgFetcher.py b/pym/_emerge/BinpkgFetcher.py
index 221d9a7ff..12544d1be 100644
--- a/pym/_emerge/BinpkgFetcher.py
+++ b/pym/_emerge/BinpkgFetcher.py
@@ -158,7 +158,12 @@ class BinpkgFetcher(SpawnProcess):
async_lock = AsynchronousLock(path=self.pkg_path,
scheduler=self.scheduler)
async_lock.start()
- async_lock.wait()
+
+ if async_lock.wait() != os.EX_OK:
+ # TODO: Use CompositeTask for better handling, like in EbuildPhase.
+ raise AssertionError("AsynchronousLock failed with returncode %s" \
+ % (async_lock.returncode,))
+
self._lock_obj = async_lock
self.locked = True