From: Anthony Baxter Date: Fri, 21 Dec 2001 04:46:19 +0000 (+0000) Subject: d'oh! could have _sworn_ I checked this in last weekend. X-Git-Tag: v2.1.2c1~34 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fc543106c808f617785453e4e48872498729d35f;p=thirdparty%2FPython%2Fcpython.git d'oh! could have _sworn_ I checked this in last weekend. Make dumbdbm merely "dumb", rather than "terminally broken". Without this patch, it's almost impossible to use dumbdbm _without_ causing horrible datalossage. With this patch, dumbdbm passes my own horrible torture test, as well as the roundup test suite. dumbdbm really could do with a smidgin of a rewrite or two, but that's not suitable for the release21-maint branch. This patch should go into the trunk as well. --- diff --git a/Lib/dumbdbm.py b/Lib/dumbdbm.py index f1cc41bd4503..f71cb8ae677c 100644 --- a/Lib/dumbdbm.py +++ b/Lib/dumbdbm.py @@ -139,9 +139,14 @@ class _Database: return len(self._index) def close(self): + self._commit() self._index = None self._datfile = self._dirfile = self._bakfile = None + def __del__(self): + if self._index is not None: + self._commit() + def open(file, flag = None, mode = None): # flag, mode arguments are currently ignored