summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2003-09-09 03:11:34 (GMT)
committerSteven Knight <knight@baldmt.com>2003-09-09 03:11:34 (GMT)
commite10b74a59f1830769ba4c7e65a846228812ae2fa (patch)
tree33ea0a5e57fa7a1330874443a09fbfc33039bc0a
parent68b5dfbc87552d4cd1a9c067f6ba4523d9560bb9 (diff)
downloadSCons-e10b74a59f1830769ba4c7e65a846228812ae2fa.zip
SCons-e10b74a59f1830769ba4c7e65a846228812ae2fa.tar.gz
SCons-e10b74a59f1830769ba4c7e65a846228812ae2fa.tar.bz2
Don't try to call anydbm.sync() if the underlying db implementation doesn't have one. (Ralf W. Grosse-Kunstleve)
-rw-r--r--src/CHANGES.txt4
-rw-r--r--src/engine/SCons/Sig/__init__.py6
2 files changed, 9 insertions, 1 deletions
diff --git a/src/CHANGES.txt b/src/CHANGES.txt
index 4d0f646..d8a6155 100644
--- a/src/CHANGES.txt
+++ b/src/CHANGES.txt
@@ -20,6 +20,10 @@ RELEASE X.XX - XXX
- Add support for CCVERSION and CXXVERSION variables for a number
of C and C++ compilers.
+ From Ralf W. Grosse-Kunstleve:
+
+ - Accomodate anydbm modules that don't have a sync() method.
+
From Stephen Kennedy:
- Add support for a configurable global .sconsign.dbm file which
diff --git a/src/engine/SCons/Sig/__init__.py b/src/engine/SCons/Sig/__init__.py
index 298db66..0245a2c 100644
--- a/src/engine/SCons/Sig/__init__.py
+++ b/src/engine/SCons/Sig/__init__.py
@@ -213,7 +213,11 @@ class SConsignDB(_SConsign):
if self.dirty:
global SConsign_db
SConsign_db[self.dir.path] = cPickle.dumps(self.entries, 1)
- SConsign_db.sync()
+ try:
+ SConsign_db.sync()
+ except AttributeError:
+ # Not all anydbm modules have sync() methods.
+ pass
class SConsignDir(_SConsign):
def __init__(self, fp=None, module=None):