diff options
-rw-r--r-- | bitbake/lib/bb/cooker.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 72ae8b09c7..58137f6d62 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -151,9 +151,7 @@ class BBCooker: | |||
151 | 151 | ||
152 | # Take a lock so only one copy of bitbake can run against a given build | 152 | # Take a lock so only one copy of bitbake can run against a given build |
153 | # directory at a time | 153 | # directory at a time |
154 | lockfile = self.data.expand("${TOPDIR}/bitbake.lock") | 154 | if not self.lockBitbake(): |
155 | self.lock = bb.utils.lockfile(lockfile, False, False) | ||
156 | if not self.lock: | ||
157 | bb.fatal("Only one copy of bitbake should be run against a build directory") | 155 | bb.fatal("Only one copy of bitbake should be run against a build directory") |
158 | try: | 156 | try: |
159 | self.lock.seek(0) | 157 | self.lock.seek(0) |
@@ -1547,6 +1545,19 @@ class BBCooker: | |||
1547 | def reset(self): | 1545 | def reset(self): |
1548 | self.initConfigurationData() | 1546 | self.initConfigurationData() |
1549 | 1547 | ||
1548 | def lockBitbake(self): | ||
1549 | if not hasattr(self, 'lock'): | ||
1550 | self.lock = None | ||
1551 | if self.data: | ||
1552 | lockfile = self.data.expand("${TOPDIR}/bitbake.lock") | ||
1553 | if lockfile: | ||
1554 | self.lock = bb.utils.lockfile(lockfile, False, False) | ||
1555 | return self.lock | ||
1556 | |||
1557 | def unlockBitbake(self): | ||
1558 | if hasattr(self, 'lock') and self.lock: | ||
1559 | bb.utils.unlockfile(self.lock) | ||
1560 | |||
1550 | def server_main(cooker, func, *args): | 1561 | def server_main(cooker, func, *args): |
1551 | cooker.pre_serve() | 1562 | cooker.pre_serve() |
1552 | 1563 | ||