diff options
author | Chris Larson <chris_larson@mentor.com> | 2010-12-09 21:50:23 -0500 |
---|---|---|
committer | Chris Larson <chris_larson@mentor.com> | 2010-12-09 22:26:33 -0500 |
commit | 4262c26d36d1c1b6801ac422716a227c1f6b9589 (patch) | |
tree | 9a41405ea3473437ba4a39ef3d2002431722f628 /lib/bb/utils.py | |
parent | f99ee4680c9f67b7ed13fc06044ba2382f9a782c (diff) | |
download | bitbake-4262c26d36d1c1b6801ac422716a227c1f6b9589.tar.gz |
utils: fix calls to close() in the lock/unlock functions
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Diffstat (limited to 'lib/bb/utils.py')
-rw-r--r-- | lib/bb/utils.py | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/bb/utils.py b/lib/bb/utils.py index c96d72cdd..fcb180c51 100644 --- a/lib/bb/utils.py +++ b/lib/bb/utils.py @@ -367,6 +367,7 @@ def better_eval(source, locals): @contextmanager def fileslocked(files): + """Context manager for locking and unlocking file locks.""" locks = [] if files: for lockfile in files: @@ -384,7 +385,7 @@ def lockfile(name): """ path = os.path.dirname(name) if not os.path.isdir(path): - logger.error("Lockfile path '%s' does not exist", path) + logger.error("Lockfile destination directory '%s' does not exist", path) sys.exit(1) while True: @@ -399,16 +400,16 @@ def lockfile(name): # lock is the most likely to win it. try: - lf = open(name, "a + ") - fcntl.flock(lf.fileno(), fcntl.LOCK_EX) - statinfo = os.fstat(lf.fileno()) + lf = open(name, 'a+') + fileno = lf.fileno() + fcntl.flock(fileno, fcntl.LOCK_EX) + statinfo = os.fstat(fileno) if os.path.exists(lf.name): statinfo2 = os.stat(lf.name) if statinfo.st_ino == statinfo2.st_ino: return lf - # File no longer exists or changed, retry - lf.close - except Exception as e: + lf.close() + except Exception: continue def unlockfile(lf): @@ -417,7 +418,7 @@ def unlockfile(lf): """ os.unlink(lf.name) fcntl.flock(lf.fileno(), fcntl.LOCK_UN) - lf.close + lf.close() def md5_file(filename): """ |