summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/IndexedDeque.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/IndexedDeque.h b/qpid/cpp/src/qpid/broker/IndexedDeque.h
index 229b4e3009..e13a218ad0 100644
--- a/qpid/cpp/src/qpid/broker/IndexedDeque.h
+++ b/qpid/cpp/src/qpid/broker/IndexedDeque.h
@@ -112,7 +112,7 @@ template <typename T> class IndexedDeque
T* release(const QueueCursor& cursor)
{
size_t i;
- if (cursor.valid && index(cursor.position, i)) {
+ if (cursor.valid && index(cursor.position, i) && messages[i].getState() == ACQUIRED) {
messages[i].setState(AVAILABLE);
++version;
QPID_LOG(debug, "Released message at position " << cursor.position << ", index " << i);