You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2014/08/22 16:13:05 UTC
svn commit: r1619813 - /qpid/trunk/qpid/python/qpid/messaging/endpoints.py
Author: aconway
Date: Fri Aug 22 14:13:05 2014
New Revision: 1619813
URL: http://svn.apache.org/r1619813
Log:
NO-JIRA: Fix timeout on python messaging.Session.commit and rollback
Fix both to take timeout arg and raise Timeout exception if timeout expires.
Modified:
qpid/trunk/qpid/python/qpid/messaging/endpoints.py
Modified: qpid/trunk/qpid/python/qpid/messaging/endpoints.py
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/python/qpid/messaging/endpoints.py?rev=1619813&r1=1619812&r2=1619813&view=diff
==============================================================================
--- qpid/trunk/qpid/python/qpid/messaging/endpoints.py (original)
+++ qpid/trunk/qpid/python/qpid/messaging/endpoints.py Fri Aug 22 14:13:05 2014
@@ -732,13 +732,14 @@ class Session(Endpoint):
raise NontransactionalSession()
self.committing = True
self._wakeup()
- self._ecwait(lambda: not self.committing, timeout=timeout)
+ if not self._ecwait(lambda: not self.committing, timeout=timeout):
+ raise Timeout("commit timed out")
if self.aborted:
raise TransactionAborted()
assert self.committed
@synchronized
- def rollback(self):
+ def rollback(self, timeout=None):
"""
Rollback outstanding transactional work. This consists of all
message sends and receives since the prior commit or rollback.
@@ -747,7 +748,8 @@ class Session(Endpoint):
raise NontransactionalSession()
self.aborting = True
self._wakeup()
- self._ecwait(lambda: not self.aborting)
+ if not self._ecwait(lambda: not self.aborting, timeout=timeout):
+ raise Timeout("rollback timed out")
assert self.aborted
@synchronized
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org