summaryrefslogtreecommitdiffstats
path: root/pym
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-05-16 00:21:03 -0700
committerZac Medico <zmedico@gentoo.org>2011-05-25 20:04:37 -0700
commit4780c4916f10cb2f54827c3620eb0567b468ebc8 (patch)
tree11ca6fa096f5b785119591396443f59357296e01 /pym
parent7e8cf234141ea5c1c86032b82e81c3c9640908ed (diff)
downloadportage-4780c4916f10cb2f54827c3620eb0567b468ebc8.tar.gz
portage-4780c4916f10cb2f54827c3620eb0567b468ebc8.tar.bz2
portage-4780c4916f10cb2f54827c3620eb0567b468ebc8.zip
BinpkgFetcher: handle AsynchronousLock failure
Diffstat (limited to 'pym')
-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