From: Peter Palfrader Date: Sun, 7 Apr 2013 21:32:00 +0000 (+0200) Subject: Prevent python from releasing locks prematurely X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=fd2dbf1eb15d270f6a9f4f8467ba819a91f4d32f;p=dsa-puppet.git Prevent python from releasing locks prematurely --- 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