Commit 42569a8a authored by Tim Peters's avatar Tim Peters

tpc_abort(): Release the commit lock no matter what.

parent d6d724bc
...@@ -5,6 +5,7 @@ Release date: 04-Oct-2005 ...@@ -5,6 +5,7 @@ Release date: 04-Oct-2005
Following are dates of internal releases (to support ongoing Zope 2 Following are dates of internal releases (to support ongoing Zope 2
development) since ZODB 3.4's last public release: development) since ZODB 3.4's last public release:
- 3.4.2b3 05-Oct-2005
- 3.4.2b2 04-Oct-2005 - 3.4.2b2 04-Oct-2005
- 3.4.2b1 03-Oct-2005 - 3.4.2b1 03-Oct-2005
...@@ -18,6 +19,15 @@ Savepoints ...@@ -18,6 +19,15 @@ Savepoints
happen, and stopped happening for subtransaction commits too. Making a happen, and stopped happening for subtransaction commits too. Making a
savepoint (or doing a subtransaction commit) does invoke cache gc now. savepoint (or doing a subtransaction commit) does invoke cache gc now.
BaseStorage
-----------
- (3.4.2b3) 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 PersistentMapping
----------------- -----------------
......
...@@ -192,8 +192,8 @@ class BaseStorage(UndoLogCompatible): ...@@ -192,8 +192,8 @@ class BaseStorage(UndoLogCompatible):
self._abort() self._abort()
self._clear_temp() self._clear_temp()
self._transaction = None self._transaction = None
self._commit_lock_release()
finally: finally:
self._commit_lock_release()
self._lock_release() self._lock_release()
def _abort(self): def _abort(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment