home
·
contact
·
privacy
projects
/
plomrogue
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
613adaf
)
Write worldstate sans atomicity deletion,for less outage towards client.
author
Christian Heller
<c.heller@plomlompom.de>
Mon, 9 Mar 2015 03:49:44 +0000
(
04:49
+0100)
committer
Christian Heller
<c.heller@plomlompom.de>
Mon, 9 Mar 2015 03:49:44 +0000
(
04:49
+0100)
plomrogue-server.py
patch
|
blob
|
history
diff --git
a/plomrogue-server.py
b/plomrogue-server.py
index 6a486f6c707fc82457bcd89b03522726a0b8e810..622b7782be44cb98c44bdc77aa6d1b22bcd3a5ff 100755
(executable)
--- a/
plomrogue-server.py
+++ b/
plomrogue-server.py
@@
-142,7
+142,7
@@
def obey(command, prefix, replay=False, do_record=False):
print("Invalid command/argument, or bad number of tokens.")
print("Invalid command/argument, or bad number of tokens.")
-def atomic_write(path, text, do_append=False):
+def atomic_write(path, text, do_append=False
, delete=True
):
"""Atomic write of text to file at path, appended if do_append is set."""
path_tmp = path + io_db["tmp_suffix"]
mode = "w"
"""Atomic write of text to file at path, appended if do_append is set."""
path_tmp = path + io_db["tmp_suffix"]
mode = "w"
@@
-153,7
+153,7
@@
def atomic_write(path, text, do_append=False):
file = open(path_tmp, mode)
strong_write(file, text)
file.close()
file = open(path_tmp, mode)
strong_write(file, text)
file.close()
- if os.access(path, os.F_OK):
+ if
delete and
os.access(path, os.F_OK):
os.remove(path)
os.rename(path_tmp, path)
os.remove(path)
os.rename(path_tmp, path)
@@
-348,7
+348,7
@@
def try_worldstate_update():
c = world_db["ThingTypes"][mt[0]]["TT_SYMBOL"]
mem[(mt[1] * length) + mt[2]] = ord(c)
string = write_map(string, mem)
c = world_db["ThingTypes"][mt[0]]["TT_SYMBOL"]
mem[(mt[1] * length) + mt[2]] = ord(c)
string = write_map(string, mem)
- atomic_write(io_db["path_worldstate"], string)
+ atomic_write(io_db["path_worldstate"], string
, delete=False
)
strong_write(io_db["file_out"], "WORLD_UPDATED\n")
io_db["worldstate_updateable"] = False
strong_write(io_db["file_out"], "WORLD_UPDATED\n")
io_db["worldstate_updateable"] = False