From ed9057083bcdcce37ddb66bc01e9b7fddb5ea206 Mon Sep 17 00:00:00 2001 From: Anthony Baxter Date: Fri, 21 Dec 2001 05:13:37 +0000 Subject: forward-patch from release21-maint branch: 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 | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Lib/dumbdbm.py') diff --git a/Lib/dumbdbm.py b/Lib/dumbdbm.py index 0fd2dad2fc..920a464d4f 100644 --- a/Lib/dumbdbm.py +++ b/Lib/dumbdbm.py @@ -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 -- cgit v1.2.1