]> code.ossystems Code Review - openembedded-core.git/commitdiff
utils: fix calls to close() in the lock/unlock functions
authorChris Larson <chris_larson@mentor.com>
Fri, 10 Dec 2010 02:50:23 +0000 (21:50 -0500)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 4 Jan 2011 14:46:48 +0000 (14:46 +0000)
(Bitbake rev: 4262c26d36d1c1b6801ac422716a227c1f6b9589)

Signed-off-by: Chris Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/utils.py

index ba50801ae9ec375d9046fe2af034f9a13a0d1ff0..107b00140140ed7f1d13f518f9f8aec110665c87 100644 (file)
@@ -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):
     """