]> granicus.if.org Git - python/commitdiff
forward-patch from release21-maint branch:
authorAnthony Baxter <anthonybaxter@gmail.com>
Fri, 21 Dec 2001 05:13:37 +0000 (05:13 +0000)
committerAnthony Baxter <anthonybaxter@gmail.com>
Fri, 21 Dec 2001 05:13:37 +0000 (05:13 +0000)
  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.

Lib/dumbdbm.py

index 0fd2dad2fc89ff28b4825142b65bb1b5586c5f7f..920a464d4f3cb97200399283c741b7579891b4ac 100644 (file)
@@ -143,9 +143,15 @@ 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=0666):
     # flag, mode arguments are currently ignored