utils: fix calls to close() in the lock/unlock functions
(Bitbake rev: 4262c26d36d1c1b6801ac422716a227c1f6b9589) Signed-off-by: Chris Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
parent
e2363f3cdd
commit
25e519a80f
|
@ -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):
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue