summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Sig
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-02-14 07:23:47 (GMT)
committerSteven Knight <knight@baldmt.com>2002-02-14 07:23:47 (GMT)
commit1deb322e0b048071129be8ad595892da3c1ecf48 (patch)
tree03686408f931d9c55d68e1235d8b3c8a14cdf787 /src/engine/SCons/Sig
parent8358209e2ccdf0f0a86c20e33401e8e26869f6c9 (diff)
downloadSCons-1deb322e0b048071129be8ad595892da3c1ecf48.zip
SCons-1deb322e0b048071129be8ad595892da3c1ecf48.tar.gz
SCons-1deb322e0b048071129be8ad595892da3c1ecf48.tar.bz2
Fix new .sconsign file write-logic portability to Windows NT.
Diffstat (limited to 'src/engine/SCons/Sig')
-rw-r--r--src/engine/SCons/Sig/__init__.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/engine/SCons/Sig/__init__.py b/src/engine/SCons/Sig/__init__.py
index a85019a..cedeb94 100644
--- a/src/engine/SCons/Sig/__init__.py
+++ b/src/engine/SCons/Sig/__init__.py
@@ -137,12 +137,19 @@ class SConsignFile:
keys.sort()
for name in keys:
file.write("%s: %s\n" % (name, self.entries[name]))
- file.close
+ file.close()
if fname != self.sconsign:
try:
+ mode = os.stat(self.sconsign)[0]
+ os.chmod(self.sconsign, 0666)
+ os.unlink(self.sconsign)
+ except:
+ pass
+ try:
os.rename(fname, self.sconsign)
except:
open(self.sconsign, 'wb').write(open(fname, 'rb').read())
+ os.chmod(self.sconsign, mode)
try:
os.unlink(temp)
except: