From: Guido van Rossum Date: Sat, 22 Nov 1997 21:48:26 +0000 (+0000) Subject: Use fstat if we can; write MAGIC into file last. X-Git-Tag: v1.5b1~58 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e6c128f428de3e6cb44549983644fa610082cb52;p=thirdparty%2FPython%2Fcpython.git Use fstat if we can; write MAGIC into file last. --- diff --git a/Lib/py_compile.py b/Lib/py_compile.py index e9e90ff6efa1..1adc3a209c60 100644 --- a/Lib/py_compile.py +++ b/Lib/py_compile.py @@ -14,16 +14,22 @@ def wr_long(f, x): def compile(file, cfile = None): import os, marshal, __builtin__ f = open(file) + try: + timestamp = os.fstat(file.fileno()) + except AttributeError: + timestamp = long(os.stat(file)[8]) codestring = f.read() f.close() - timestamp = long(os.stat(file)[8]) codeobject = __builtin__.compile(codestring, file, 'exec') if not cfile: cfile = file + (__debug__ and 'c' or 'o') fc = open(cfile, 'wb') - fc.write(MAGIC) + fc.write('\0\0\0\0') wr_long(fc, timestamp) marshal.dump(codeobject, fc) + fc.flush() + fc.seek(0, 0) + fc.write(MAGIC) fc.close() if os.name == 'mac': import macfs