summaryrefslogtreecommitdiff
path: root/qpid/python
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2010-04-13 18:28:34 +0000
committerRafael H. Schloming <rhs@apache.org>2010-04-13 18:28:34 +0000
commit217a4d44860504ecd9749475872e1a716d918316 (patch)
treead5e0357aa080e9a088d788bdf09281a23035847 /qpid/python
parentea28ee6f1a612d55d127f8175e60b5598bbcef14 (diff)
downloadqpid-python-217a4d44860504ecd9749475872e1a716d918316.tar.gz
fixed a hang in commit and added testDoubleCommit
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@933734 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/python')
-rw-r--r--qpid/python/qpid/messaging/driver.py1
-rw-r--r--qpid/python/qpid/tests/messaging/endpoints.py12
2 files changed, 13 insertions, 0 deletions
diff --git a/qpid/python/qpid/messaging/driver.py b/qpid/python/qpid/messaging/driver.py
index 934b5c02cc..8463aead13 100644
--- a/qpid/python/qpid/messaging/driver.py
+++ b/qpid/python/qpid/messaging/driver.py
@@ -1020,6 +1020,7 @@ class Engine:
ssn.committed = True
ssn.aborting = False
ssn.aborted = False
+ sst.committing = False
sst.write_cmd(TxCommit(), commit_ok)
sst.committing = True
diff --git a/qpid/python/qpid/tests/messaging/endpoints.py b/qpid/python/qpid/tests/messaging/endpoints.py
index 6a5cecf3b1..91940a881e 100644
--- a/qpid/python/qpid/tests/messaging/endpoints.py
+++ b/qpid/python/qpid/tests/messaging/endpoints.py
@@ -483,6 +483,18 @@ class SessionTests(Base):
def testRollbackAck(self):
self.txTestAck(False)
+ def testDoubleCommit(self):
+ ssn = self.conn.session(transactional=True)
+ snd = ssn.sender("amq.direct")
+ rcv = ssn.receiver("amq.direct")
+ msgs = [self.message("testDoubleCommit", i) for i in range(3)]
+ for m in msgs:
+ snd.send(m)
+ ssn.commit()
+ self.drain(rcv, expected=msgs)
+ ssn.acknowledge()
+ ssn.commit()
+
def testClose(self):
self.ssn.close()
try: