diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-04-10 16:42:40 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2016-04-10 16:42:40 +0200 |
commit | 70639bffe44444b5faee83772cc3c73dc2e46fed (patch) | |
tree | 124bf797d20d37bf34c54e5a5a668c2e7cc2cea0 /engine/SCons/dblite.py | |
parent | 6a570afd28bccdb118edde36488ba9834494d6c7 (diff) |
Imported Upstream version 2.5.0upstream/2.5.0
Diffstat (limited to 'engine/SCons/dblite.py')
-rw-r--r-- | engine/SCons/dblite.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/engine/SCons/dblite.py b/engine/SCons/dblite.py index f4ba90a..707a4f8 100644 --- a/engine/SCons/dblite.py +++ b/engine/SCons/dblite.py @@ -3,7 +3,6 @@ import SCons.compat -import builtins import os # compat layer imports "cPickle" for us if it's available. import pickle @@ -44,7 +43,7 @@ class dblite(object): # See the discussion at: # http://mail.python.org/pipermail/python-bugs-list/2003-March/016877.html - _open = builtins.open + _open = open _pickle_dump = staticmethod(pickle.dump) _os_chmod = os.chmod try: @@ -99,7 +98,10 @@ class dblite(object): if (len(p) > 0): try: self._dict = pickle.loads(p) - except (pickle.UnpicklingError, EOFError): + except (pickle.UnpicklingError, EOFError, KeyError): + # Note how we catch KeyErrors too here, which might happen + # when we don't have cPickle available (default pickle + # throws it). if (ignore_corrupt_dbfiles == 0): raise if (ignore_corrupt_dbfiles == 1): corruption_warning(self._file_name) |