Author: phd
Date: 2006-05-09 10:35:14 -0600 (Tue, 09 May 2006)
New Revision: 1758
Modified:
SQLObject/trunk/sqlobject/declarative.py
Log:
A patch by David Creemer <da...@za...>: release the lock
even after an exception to prevent deadlocks.
Modified: SQLObject/trunk/sqlobject/declarative.py
===================================================================
--- SQLObject/trunk/sqlobject/declarative.py 2006-05-09 14:12:45 UTC (rev 1757)
+++ SQLObject/trunk/sqlobject/declarative.py 2006-05-09 16:35:14 UTC (rev 1758)
@@ -90,9 +90,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:
|