diff options
Diffstat (limited to 'Lib/shelve.py')
-rw-r--r-- | Lib/shelve.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/Lib/shelve.py b/Lib/shelve.py index fb2fa93..8271dfe 100644 --- a/Lib/shelve.py +++ b/Lib/shelve.py @@ -136,7 +136,11 @@ class Shelf(collections.MutableMapping): self.dict.close() except AttributeError: pass - self.dict = _ClosedDict() + # _ClosedDict can be None when close is called from __del__ during shutdown + if _ClosedDict is None: + self.dict = None + else: + self.dict = _ClosedDict() def __del__(self): if not hasattr(self, 'writeback'): |