[Zodb-checkins] SVN: ZODB/branches/3.5/ Merge rev 38770 from 3.4 branch.

Tim Peters tim.one at comcast.net
Wed Oct 5 15:17:22 EDT 2005


Log message for revision 38771:
  Merge rev 38770 from 3.4 branch.
  
  tpc_abort():  Release the commit lock no matter what.
  

Changed:
  U   ZODB/branches/3.5/NEWS.txt
  U   ZODB/branches/3.5/src/ZODB/BaseStorage.py

-=-
Modified: ZODB/branches/3.5/NEWS.txt
===================================================================
--- ZODB/branches/3.5/NEWS.txt	2005-10-05 19:13:37 UTC (rev 38770)
+++ ZODB/branches/3.5/NEWS.txt	2005-10-05 19:17:22 UTC (rev 38771)
@@ -19,6 +19,14 @@
   erroneous ``AttributeError`` exception.  Thanks to Tres Seaver for the
   diagnosis.
 
+BaseStorage
+-----------
+
+- (3.5.1b3) Nothing done by ``tpc_abort()`` should raise an exception.
+  However, if something does (an error case), ``BaseStorage.tpc_abort()``
+  left the commit lock in the acquired state, causing any later attempt
+  to commit changes hang.
+
 Build
 -----
 

Modified: ZODB/branches/3.5/src/ZODB/BaseStorage.py
===================================================================
--- ZODB/branches/3.5/src/ZODB/BaseStorage.py	2005-10-05 19:13:37 UTC (rev 38770)
+++ ZODB/branches/3.5/src/ZODB/BaseStorage.py	2005-10-05 19:17:22 UTC (rev 38771)
@@ -192,8 +192,8 @@
             self._abort()
             self._clear_temp()
             self._transaction = None
+        finally:
             self._commit_lock_release()
-        finally:
             self._lock_release()
 
     def _abort(self):



More information about the Zodb-checkins mailing list