Merged revisions 78141-78142 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r78141 | r.david.murray | 2010-02-10 20:38:42 -0500 (Wed, 10 Feb 2010) | 6 lines

  Issue 5754:  tweak shelve doc wording to make it clearer that even when
  writeback=True values are written to the backing store when assigned to
  the shelf.  Add test to confirm that this happens.  Doc patch and added
  test by Robert Lehmann.  I also fixed the cross references to the sync
  and close methods.
........
  r78142 | r.david.murray | 2010-02-10 20:56:42 -0500 (Wed, 10 Feb 2010) | 3 lines

  Improve issue 7835 fix per MAL to handle the case that the
  module dictionary has also been cleared.
........
This commit is contained in:
R. David Murray 2010-02-11 02:01:02 +00:00
parent 2070be82cd
commit b92a305d2a
4 changed files with 26 additions and 12 deletions

View file

@ -145,11 +145,12 @@ class Shelf(UserDict.DictMixin):
self.dict.close()
except AttributeError:
pass
# _ClosedDict can be None when close is called from __del__ during shutdown
if _ClosedDict is None:
self.dict = None
else:
# Catch errors that may happen when close is called from __del__
# because CPython is in interpreter shutdown.
try:
self.dict = _ClosedDict()
except (NameError, TypeError):
self.dict = None
def __del__(self):
if not hasattr(self, 'writeback'):