Rev3739, Fix atomicWrite of non existent file
This commit is contained in:
parent
ed74403850
commit
edc1a71d0d
2 changed files with 4 additions and 3 deletions
|
@ -13,7 +13,7 @@ class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.6.4"
|
self.version = "0.6.4"
|
||||||
self.rev = 3738
|
self.rev = 3739
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.pending_changes = {}
|
self.pending_changes = {}
|
||||||
|
|
|
@ -20,9 +20,10 @@ def atomicWrite(dest, content, mode="w"):
|
||||||
os.fsync(f.fileno())
|
os.fsync(f.fileno())
|
||||||
if os.path.isfile(dest + "-tmpold"): # Previous incomplete write
|
if os.path.isfile(dest + "-tmpold"): # Previous incomplete write
|
||||||
os.rename(dest + "-tmpold", dest + "-tmpold-%s" % time.time())
|
os.rename(dest + "-tmpold", dest + "-tmpold-%s" % time.time())
|
||||||
|
if os.path.isfile(dest): # Rename old file to -tmpold
|
||||||
os.rename(dest, dest + "-tmpold")
|
os.rename(dest, dest + "-tmpold")
|
||||||
os.rename(dest + "-tmpnew", dest)
|
os.rename(dest + "-tmpnew", dest)
|
||||||
os.unlink(dest + "-tmpold")
|
os.unlink(dest + "-tmpold") # Remove old file
|
||||||
return True
|
return True
|
||||||
except Exception, err:
|
except Exception, err:
|
||||||
from Debug import Debug
|
from Debug import Debug
|
||||||
|
|
Loading…
Reference in a new issue