diff options
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r-- | qpid/cpp/src/qpid/broker/IndexedDeque.h | 2 |
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); |