From d067203492b79f51319d21f0daaddbf44ece33d4 Mon Sep 17 00:00:00 2001 From: Zac Medico Date: Wed, 2 Jul 2008 08:21:20 +0000 Subject: Remove $PORTAGE_BUILDDIR locking from portage.pkgmerge() and use an instance of EbuildBuildDir instead. svn path=/main/trunk/; revision=10892 --- pym/_emerge/__init__.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'pym/_emerge/__init__.py') 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): -- cgit v1.2.3-1-g7c22