summaryrefslogtreecommitdiff
path: root/meta/classes
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-19 11:04:15 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2011-01-19 11:04:15 +0000
commitede381d56b180b384fdad98d445e5430819cfade (patch)
treec0dba726e68d2b7f82011e039b17f703f2f87b86 /meta/classes
parent7857834691868b7f48f732ee78d8770f5473ff68 (diff)
downloadopenembedded-core-ede381d56b180b384fdad98d445e5430819cfade.tar.gz
openembedded-core-ede381d56b180b384fdad98d445e5430819cfade.tar.bz2
openembedded-core-ede381d56b180b384fdad98d445e5430819cfade.zip
package.bbclass: Take a shared lock when reading to improve do_package parallelism
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes')
-rw-r--r--meta/classes/package.bbclass5
1 files changed, 4 insertions, 1 deletions
diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index d39c694de5..8e7fa26f72 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -497,7 +497,8 @@ python emit_pkgdata() {
pkgdest = bb.data.getVar('PKGDEST', d, 1)
pkgdatadir = bb.data.getVar('PKGDESTWORK', d, True)
- lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d))
+ # Take shared lock since we're only reading, not writing
+ lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d), True)
data_file = pkgdatadir + bb.data.expand("/${PN}" , d)
f = open(data_file, 'w')
@@ -649,6 +650,7 @@ python package_do_shlibs() {
shlibs_dir = bb.data.getVar('SHLIBSDIR', d, True)
shlibswork_dir = bb.data.getVar('SHLIBSWORKDIR', d, True)
+ # Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d))
def linux_so(root, path, file):
@@ -878,6 +880,7 @@ python package_do_pkgconfig () {
if hdr == 'Requires':
pkgconfig_needed[pkg] += exp.replace(',', ' ').split()
+ # Take shared lock since we're only reading, not writing
lf = bb.utils.lockfile(bb.data.expand("${PACKAGELOCK}", d))
for pkg in packages.split():