summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2009-12-17 20:45:07 +0000
committerAlan Conway <aconway@apache.org>2009-12-17 20:45:07 +0000
commitf11a81f95a4525678c081a73d39dfb93c5c8c1a1 (patch)
tree390b58581cf0a08c6968c5501208809d22250489
parent0396c217e8f507b24136f5d7dce588d617481fe7 (diff)
downloadqpid-python-f11a81f95a4525678c081a73d39dfb93c5c8c1a1.tar.gz
QPID-2293: MessageReplyTracker loses messages if an exception is thrown during replay
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@891886 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/cpp/src/qpid/client/MessageReplayTracker.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/client/MessageReplayTracker.cpp b/qpid/cpp/src/qpid/client/MessageReplayTracker.cpp
index 0782f6e63d..079fb1167a 100644
--- a/qpid/cpp/src/qpid/client/MessageReplayTracker.cpp
+++ b/qpid/cpp/src/qpid/client/MessageReplayTracker.cpp
@@ -43,9 +43,7 @@ void MessageReplayTracker::init(AsyncSession s)
void MessageReplayTracker::replay(AsyncSession s)
{
session = s;
- std::list<ReplayRecord> copy;
- buffer.swap(copy);
- std::for_each(copy.begin(), copy.end(), boost::bind(&ReplayRecord::send, _1, boost::ref(*this)));
+ std::for_each(buffer.begin(), buffer.end(), boost::bind(&ReplayRecord::send, _1, boost::ref(*this)));
session.flush();
count = 0;
}