summaryrefslogtreecommitdiffstats
path: root/pym/portage/package/ebuild/doebuild.py
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-09-14 17:20:08 -0700
committerZac Medico <zmedico@gentoo.org>2010-09-14 17:20:08 -0700
commitc5e2cab7a6904295fa74ca3be42fc37e898c9c85 (patch)
treeffb116affb070c1fceebdb95118c20a777393432 /pym/portage/package/ebuild/doebuild.py
parent1d3b4759b419fb4973d9f43c4a58ed7e8f8d7814 (diff)
downloadportage-c5e2cab7a6904295fa74ca3be42fc37e898c9c85.tar.gz
portage-c5e2cab7a6904295fa74ca3be42fc37e898c9c85.tar.bz2
portage-c5e2cab7a6904295fa74ca3be42fc37e898c9c85.zip
In doebuild(), skip PORTAGE_BUILDDIR locking if it's already locked
or returnpid is True.
Diffstat (limited to 'pym/portage/package/ebuild/doebuild.py')
-rw-r--r--pym/portage/package/ebuild/doebuild.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/pym/portage/package/ebuild/doebuild.py b/pym/portage/package/ebuild/doebuild.py
index 4c266222c..044d66590 100644
--- a/pym/portage/package/ebuild/doebuild.py
+++ b/pym/portage/package/ebuild/doebuild.py
@@ -617,9 +617,12 @@ def doebuild(myebuild, mydo, myroot, mysettings, debug=0, listonly=0,
have_build_dirs = False
if not parallel_fetchonly and \
mydo not in ('digest', 'fetch', 'help', 'manifest'):
- builddir_lock = EbuildBuildDir(
- scheduler=PollScheduler().sched_iface, settings=mysettings)
- builddir_lock.lock()
+ if not returnpid and \
+ 'PORTAGE_BUILDIR_LOCKED' not in mysettings:
+ builddir_lock = EbuildBuildDir(
+ scheduler=PollScheduler().sched_iface,
+ settings=mysettings)
+ builddir_lock.lock()
mystatus = prepare_build_dirs(myroot, mysettings, cleanup)
if mystatus:
return mystatus