From 25e519a80fc453de1468823b2bf26ab053aa0dca Mon Sep 17 00:00:00 2001 From: Chris Larson Date: Thu, 9 Dec 2010 21:50:23 -0500 Subject: utils: fix calls to close() in the lock/unlock functions (Bitbake rev: 4262c26d36d1c1b6801ac422716a227c1f6b9589) Signed-off-by: Chris Larson Signed-off-by: Richard Purdie --- bitbake/lib/bb/utils.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'bitbake/lib/bb/utils.py') diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index ba50801ae9..107b001401 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -401,6 +401,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: @@ -418,7 +419,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) if not os.access(path, os.W_OK): @@ -437,16 +438,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): @@ -455,7 +456,7 @@ def unlockfile(lf): """ os.unlink(lf.name) fcntl.flock(lf.fileno(), fcntl.LOCK_UN) - lf.close + lf.close() def md5_file(filename): """ -- cgit v1.2.3-54-g00ecf