[Zodb-checkins] SVN: ZODB/trunk/ Merge rev 38770 from 3.4 branch.
Tim Peters
tim.one at comcast.net
Wed Oct 5 15:19:55 EDT 2005
Log message for revision 38772:
Merge rev 38770 from 3.4 branch.
tpc_abort(): Release the commit lock no matter what.
Changed:
U ZODB/trunk/NEWS.txt
U ZODB/trunk/src/ZODB/BaseStorage.py
-=-
Modified: ZODB/trunk/NEWS.txt
===================================================================
--- ZODB/trunk/NEWS.txt 2005-10-05 19:17:22 UTC (rev 38771)
+++ ZODB/trunk/NEWS.txt 2005-10-05 19:19:54 UTC (rev 38772)
@@ -38,6 +38,14 @@
erroneous ``AttributeError`` exception. Thanks to Tres Seaver for the
diagnosis.
+BaseStorage
+-----------
+
+- (3.6a4) 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.
+
PersistentMapping
-----------------
Modified: ZODB/trunk/src/ZODB/BaseStorage.py
===================================================================
--- ZODB/trunk/src/ZODB/BaseStorage.py 2005-10-05 19:17:22 UTC (rev 38771)
+++ ZODB/trunk/src/ZODB/BaseStorage.py 2005-10-05 19:19:54 UTC (rev 38772)
@@ -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