diff options
author | Steven Knight <knight@baldmt.com> | 2002-02-14 07:23:47 (GMT) |
---|---|---|
committer | Steven Knight <knight@baldmt.com> | 2002-02-14 07:23:47 (GMT) |
commit | 1deb322e0b048071129be8ad595892da3c1ecf48 (patch) | |
tree | 03686408f931d9c55d68e1235d8b3c8a14cdf787 /src/engine/SCons | |
parent | 8358209e2ccdf0f0a86c20e33401e8e26869f6c9 (diff) | |
download | SCons-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')
-rw-r--r-- | src/engine/SCons/Sig/__init__.py | 9 |
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: |