diff options
| -rw-r--r-- | bitbake/lib/bb/ui/knotty.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/bitbake/lib/bb/ui/knotty.py b/bitbake/lib/bb/ui/knotty.py index 2bee242eb0..9788a9287c 100644 --- a/bitbake/lib/bb/ui/knotty.py +++ b/bitbake/lib/bb/ui/knotty.py | |||
| @@ -310,6 +310,7 @@ def main(server, eventHandler, params, tf = TerminalFilter): | |||
| 310 | errors = 0 | 310 | errors = 0 |
| 311 | warnings = 0 | 311 | warnings = 0 |
| 312 | taskfailures = [] | 312 | taskfailures = [] |
| 313 | locktries = 10 | ||
| 313 | 314 | ||
| 314 | termfilter = tf(main, helper, console, errconsole, format) | 315 | termfilter = tf(main, helper, console, errconsole, format) |
| 315 | atexit.register(termfilter.finish) | 316 | atexit.register(termfilter.finish) |
| @@ -537,6 +538,25 @@ def main(server, eventHandler, params, tf = TerminalFilter): | |||
| 537 | _, error = server.runCommand(["stateForceShutdown"]) | 538 | _, error = server.runCommand(["stateForceShutdown"]) |
| 538 | main.shutdown = 2 | 539 | main.shutdown = 2 |
| 539 | try: | 540 | try: |
| 541 | topdir, error = server.runCommand(["getVariable", "TOPDIR"]) | ||
| 542 | if error: | ||
| 543 | logger.warn("Unable to get the value of TOPDIR variable: %s" % error) | ||
| 544 | else: | ||
| 545 | lockfile = "%s/bitbake.lock" % topdir | ||
| 546 | _, error = server.runCommand(["unlockBitbake"]) | ||
| 547 | if error: | ||
| 548 | logger.warn("Unable to unlock the file %s" % lockfile) | ||
| 549 | else: | ||
| 550 | while locktries: | ||
| 551 | lf = bb.utils.lockfile(lockfile, False, False) | ||
| 552 | if not lf: | ||
| 553 | time.sleep(1) | ||
| 554 | locktries -=1 | ||
| 555 | else: | ||
| 556 | bb.utils.unlockfile(lf) | ||
| 557 | break | ||
| 558 | if not locktries: | ||
| 559 | logger.warn("Knotty could not lock the file ${TOPDIR}/bitbake.lock, probably locked by cooker and not unlocked yet. Immediate bitbake commands may failed") | ||
| 540 | summary = "" | 560 | summary = "" |
| 541 | if taskfailures: | 561 | if taskfailures: |
| 542 | summary += pluralise("\nSummary: %s task failed:", | 562 | summary += pluralise("\nSummary: %s task failed:", |
