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:
bba6075
)
Write worldstate sans atomicity deletion,for less outage towards client.
author
Christian Heller
<c.heller@plomlompom.de>
Tue, 25 Aug 2015 02:56:48 +0000
(
04:56
+0200)
committer
Christian Heller
<c.heller@plomlompom.de>
Tue, 25 Aug 2015 02:56:48 +0000
(
04:56
+0200)
plomrogue-server.py
patch
|
blob
|
history
diff --git
a/plomrogue-server.py
b/plomrogue-server.py
index 17783537139e36309ccb99cde0b2148ab845d582..a173237d92b737143471b8bc8af865da4bda2472 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