From 4a28c88946151decab069120de4361351acbdcec Mon Sep 17 00:00:00 2001 From: ThomasV Date: Thu, 23 Apr 2015 17:12:02 +0200 Subject: [PATCH] atomic write wallet file --- lib/wallet.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/wallet.py b/lib/wallet.py index 2c344efd..d6e8fcd6 100644 --- a/lib/wallet.py +++ b/lib/wallet.py @@ -136,8 +136,9 @@ class WalletStorage(object): def write(self): assert not threading.currentThread().isDaemon() s = json.dumps(self.data, indent=4, sort_keys=True) - with open(self.path,"w") as f: + with open(self.path + '.tmp', "w") as f: f.write(s) + os.rename(self.path + '.tmp', self.path) if 'ANDROID_DATA' not in os.environ: import stat os.chmod(self.path,stat.S_IREAD | stat.S_IWRITE)