summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/PagedQueue.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2013-11-08 17:41:19 +0000
committerGordon Sim <gsim@apache.org>2013-11-08 17:41:19 +0000
commita933320fc3f839dffd4d8fc50f1c028055645d68 (patch)
treedd2b060ca4325bfedd5854cb1bd6dd68c8d7e873 /cpp/src/qpid/broker/PagedQueue.cpp
parent6e4f35f879efd81cc2a44a385b6c536cdcadc98d (diff)
downloadqpid-python-a933320fc3f839dffd4d8fc50f1c028055645d68.tar.gz
QPID-5312: make sure page is loaded before attempting to find message in it
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1540136 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/PagedQueue.cpp')
-rw-r--r--cpp/src/qpid/broker/PagedQueue.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/PagedQueue.cpp b/cpp/src/qpid/broker/PagedQueue.cpp
index a0fbf530a1..4063fbe695 100644
--- a/cpp/src/qpid/broker/PagedQueue.cpp
+++ b/cpp/src/qpid/broker/PagedQueue.cpp
@@ -127,6 +127,7 @@ Message* PagedQueue::next(QueueCursor& cursor)
if (i == used.end() && !used.empty() && used.begin()->first > position) i = used.begin();
}
while (i != used.end()) {
+ if (!i->second.isLoaded()) load(i->second);
Message* m = i->second.next(version, cursor);
QPID_LOG(debug, "PagedQueue::next(" << cursor.valid << ":" << cursor.position << "): " << m);
if (m) return m;