From fd2dbf1eb15d270f6a9f4f8467ba819a91f4d32f Mon Sep 17 00:00:00 2001 From: Peter Palfrader Date: Sun, 7 Apr 2013 23:32:00 +0200 Subject: [PATCH] Prevent python from releasing locks prematurely --- .../roles/files/static-mirroring/static-master-run | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/modules/roles/files/static-mirroring/static-master-run b/modules/roles/files/static-mirroring/static-master-run index d9aa164a..c82d6884 100755 --- a/modules/roles/files/static-mirroring/static-master-run +++ b/modules/roles/files/static-mirroring/static-master-run @@ -123,7 +123,7 @@ def run_mirror(): cur = os.path.join(base, subdirs['cur']) live = os.path.join(base, subdirs['live']) tmpdir_new = tempfile.mkdtemp(prefix='live.new-', dir=base); cleanup_dirs.append(tmpdir_new); - tmpdir_old = tempfile.mkdtemp(prefix='live.new-', dir=base); cleanup_dirs.append(tmpdir_old); + tmpdir_old = tempfile.mkdtemp(prefix='live.old-', dir=base); cleanup_dirs.append(tmpdir_old); os.chmod(tmpdir_new, 0755) locks = [] @@ -163,10 +163,15 @@ def run_mirror(): log("Cleaning up.") shutil.rmtree(tmpdir_old) log("Done.") - return True + ret = True else: log("Aborted.") - return False + ret = False + + for fd in locks: + fd.close() + + return ret ok = False -- 2.39.2