diff options
author | Zac Medico <zmedico@gentoo.org> | 2008-07-02 08:21:20 +0000 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2008-07-02 08:21:20 +0000 |
commit | d067203492b79f51319d21f0daaddbf44ece33d4 (patch) | |
tree | 65d9846ca6e7566e18b21f20686cd0fce8508694 /pym/_emerge | |
parent | b71651e856dbdd2602ba2b5fe4b46d8804ea1904 (diff) | |
download | portage-d067203492b79f51319d21f0daaddbf44ece33d4.tar.gz portage-d067203492b79f51319d21f0daaddbf44ece33d4.tar.bz2 portage-d067203492b79f51319d21f0daaddbf44ece33d4.zip |
Remove $PORTAGE_BUILDDIR locking from portage.pkgmerge() and use
an instance of EbuildBuildDir instead.
svn path=/main/trunk/; revision=10892
Diffstat (limited to 'pym/_emerge')
-rw-r--r-- | pym/_emerge/__init__.py | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/pym/_emerge/__init__.py b/pym/_emerge/__init__.py index a2dc88b1a..225a4c4d6 100644 --- a/pym/_emerge/__init__.py +++ b/pym/_emerge/__init__.py @@ -2124,12 +2124,18 @@ class Binpkg(SlotObject): short_msg = "emerge: (%s of %s) %s Merge Binary" % \ (pkg_count.curval, pkg_count.maxval, pkg.cpv) logger.log(msg, short_msg=short_msg) - merge = BinpkgMerge(find_blockers=find_blockers, - ldpath_mtimes=ldpath_mtimes, pkg=pkg, pretend=opts.pretend, - pkg_path=pkg_path, settings=settings) - retval = merge.execute() - if retval != os.EX_OK: - return retval + + build_dir = EbuildBuildDir(pkg=pkg, settings=settings) + try: + build_dir.lock() + merge = BinpkgMerge(find_blockers=find_blockers, + ldpath_mtimes=ldpath_mtimes, pkg=pkg, pretend=opts.pretend, + pkg_path=pkg_path, settings=settings) + retval = merge.execute() + if retval != os.EX_OK: + return retval + finally: + build_dir.unlock() return os.EX_OK class BinpkgFetcher(Task): |