From 125ecf4977236ad4b67e2df117fe6261ed387a63 Mon Sep 17 00:00:00 2001 From: "Stephen D. Huston" Date: Sat, 13 Nov 2010 13:10:42 +0000 Subject: Merged fix for QPID-2941 from trunk. git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/0.8-release-candidates@1034751 13f79535-47bb-0310-9956-ffa450edef68 --- qpid/cpp/src/qpid/store/ms-clfs/Messages.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/qpid/cpp/src/qpid/store/ms-clfs/Messages.cpp b/qpid/cpp/src/qpid/store/ms-clfs/Messages.cpp index 6ab00d560a..db5d2ebf4c 100644 --- a/qpid/cpp/src/qpid/store/ms-clfs/Messages.cpp +++ b/qpid/cpp/src/qpid/store/ms-clfs/Messages.cpp @@ -359,10 +359,13 @@ Messages::recover(qpid::broker::RecoveryManager& recoverer, std::list::iterator w = m->where.begin(); while (w != m->where.end()) { if (w->queueId == loc.queueId) { - if (loc.transaction.get() != 0) + if (loc.transaction.get() != 0) { *w = loc; - else - m->where.erase(w); + ++w; + } + else { + w = m->where.erase(w); + } } } } @@ -381,6 +384,7 @@ Messages::recover(qpid::broker::RecoveryManager& recoverer, messages.insert(p); } } + QPID_LOG(debug, "Message log recovery done."); // Done! Ok, go back and delete all the homeless messages. BOOST_FOREACH(uint64_t msg, homeless) { -- cgit v1.2.1