diff options
| -rw-r--r-- | bitbake/lib/bb/utils.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index 5dc7e766f5..c6bbae87a4 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py | |||
| @@ -445,7 +445,13 @@ def unlockfile(lf): | |||
| 445 | """ | 445 | """ |
| 446 | Unlock a file locked using lockfile() | 446 | Unlock a file locked using lockfile() |
| 447 | """ | 447 | """ |
| 448 | os.unlink(lf.name) | 448 | try: |
| 449 | # If we had a shared lock, we need to promote to exclusive before | ||
| 450 | # removing the lockfile. Attempt this, ignore failures. | ||
| 451 | fcntl.flock(lf.fileno(), fcntl.LOCK_EX|fcntl.LOCK_NB) | ||
| 452 | os.unlink(lf.name) | ||
| 453 | except IOError: | ||
| 454 | pass | ||
| 449 | fcntl.flock(lf.fileno(), fcntl.LOCK_UN) | 455 | fcntl.flock(lf.fileno(), fcntl.LOCK_UN) |
| 450 | lf.close() | 456 | lf.close() |
| 451 | 457 | ||
