Author: phd
Date: 2006-05-09 10:35:34 -0600 (Tue, 09 May 2006)
New Revision: 1759
Modified:
SQLObject/branches/0.7-bugfix/sqlobject/declarative.py
Log:
A patch by David Creemer <da...@za...>: release the lock
even after an exception to prevent deadlocks.
Modified: SQLObject/branches/0.7-bugfix/sqlobject/declarative.py
===================================================================
--- SQLObject/branches/0.7-bugfix/sqlobject/declarative.py 2006-05-09 16:35:14 UTC (rev 1758)
+++ SQLObject/branches/0.7-bugfix/sqlobject/declarative.py 2006-05-09 16:35:34 UTC (rev 1759)
@@ -89,9 +89,10 @@
def decorator(fn):
def _wrapper(self, *args, **kwargs):
lock.acquire()
- return_value = fn(self, *args, **kwargs)
- lock.release()
- return return_value
+ try:
+ return fn(self, *args, **kwargs)
+ finally:
+ lock.release()
try:
_wrapper.func_name = fn.func_name
except TypeError:
|