Browse Source

restore lock in storage.write (follow up to b5e0363f)

283
ThomasV 9 years ago
parent
commit
0fe410d7e6
  1. 7
      lib/wallet.py

7
lib/wallet.py

@ -112,15 +112,14 @@ class WalletStorage(PrintError):
elif key in self.data: elif key in self.data:
self.modified = True self.modified = True
self.data.pop(key) self.data.pop(key)
if save: if save:
self.write() self.write()
def write(self): def write(self):
assert not threading.currentThread().isDaemon() assert not threading.currentThread().isDaemon()
if not self.modified: if not self.modified:
return return
with self.lock: s = json.dumps(self.data, indent=4, sort_keys=True)
s = json.dumps(self.data, indent=4, sort_keys=True)
temp_path = "%s.tmp.%s" % (self.path, os.getpid()) temp_path = "%s.tmp.%s" % (self.path, os.getpid())
with open(temp_path, "w") as f: with open(temp_path, "w") as f:
f.write(s) f.write(s)

Loading…
Cancel
Save