diff roundup/backends/back_anydbm.py @ 3960:bc412bb2ccd3

Workaround race condition in file storage during transaction commit [SF#883580]
author Richard Jones <richard@users.sourceforge.net>
date Thu, 07 Feb 2008 00:57:59 +0000
parents de6326aee6d0
children 954971d612ee
line wrap: on
line diff
--- a/roundup/backends/back_anydbm.py	Wed Jan 30 21:04:17 2008 +0000
+++ b/roundup/backends/back_anydbm.py	Thu Feb 07 00:57:59 2008 +0000
@@ -15,7 +15,7 @@
 # BASIS, AND THERE IS NO OBLIGATION WHATSOEVER TO PROVIDE MAINTENANCE,
 # SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
 #
-#$Id: back_anydbm.py,v 1.209 2007-12-23 01:52:07 richard Exp $
+#$Id: back_anydbm.py,v 1.210 2008-02-07 00:57:59 richard Exp $
 '''This module defines a backend that saves the hyperdatabase in a
 database chosen by anydbm. It is guaranteed to always be available in python
 versions >2.1.1 (the dumbdbm fallback in 2.1.1 and earlier has several
@@ -622,6 +622,11 @@
                 db.close()
             del self.databases
 
+        # clear the transactions list now so the blobfile implementation
+        # doesn't think there's still pending file commits when it tries
+        # to access the file data
+        self.transactions = []
+
         # reindex the nodes that request it
         for classname, nodeid in filter(None, reindex.keys()):
             self.getclass(classname).index(nodeid)

Roundup Issue Tracker: http://roundup-tracker.org/