home · contact · privacy
Server/py: Add startup wrappers supporting Python variant.
[plomrogue] / plomrogue-server.py
index 3c8b5e7856459bfe0eadca1b7497a7f106398de9..56c0044f15603a35b695c74ea7e80f78c379be55 100755 (executable)
@@ -26,7 +26,8 @@ def prep_library():
     """Prepare ctypes library at ./libplomrogue.so"""
     libpath = ("./libplomrogue.so")
     if not os.access(libpath, os.F_OK):
-        raise SystemExit("No library " + libpath + ", run ./compile.sh first?")
+        raise SystemExit("No library " + libpath +
+                         ", run ./compile-server.sh first?")
     libpr = ctypes.cdll.LoadLibrary(libpath)
     libpr.seed_rrand.argtypes = [ctypes.c_uint8, ctypes.c_uint32]
     libpr.seed_rrand.restype = ctypes.c_uint32
@@ -56,10 +57,9 @@ def prep_library():
 
 
 def strong_write(file, string):
-    """Apply write(string), flush(), and os.fsync() to file."""
+    """Apply write(string), then flush()."""
     file.write(string)
     file.flush()
-    os.fsync(file)
 
 
 def setup_server_io():
@@ -99,11 +99,11 @@ def cleanup_server_io():
     def helper(file_key, path_key):
         if file_key in io_db:
             io_db[file_key].close()
-            if not io_db["kicked_by_rival"] \
-               and os.access(io_db[path_key], os.F_OK):
-                os.remove(io_db[path_key])
-    helper("file_out", "path_out")
+        if not io_db["kicked_by_rival"] \
+           and os.access(io_db[path_key], os.F_OK):
+            os.remove(io_db[path_key])
     helper("file_in", "path_in")
+    helper("file_out", "path_out")
     helper("file_worldstate", "path_worldstate")
     if "file_record" in io_db:
         io_db["file_record"].close()