diff options
Diffstat (limited to 'cpp/src/qpid/broker/IncompleteMessageList.cpp')
-rw-r--r-- | cpp/src/qpid/broker/IncompleteMessageList.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/cpp/src/qpid/broker/IncompleteMessageList.cpp b/cpp/src/qpid/broker/IncompleteMessageList.cpp index bfa7b5dd62..26c7a83d2f 100644 --- a/cpp/src/qpid/broker/IncompleteMessageList.cpp +++ b/cpp/src/qpid/broker/IncompleteMessageList.cpp @@ -28,6 +28,12 @@ IncompleteMessageList::IncompleteMessageList() : callback(boost::bind(&IncompleteMessageList::enqueueComplete, this, _1)) {} +IncompleteMessageList::~IncompleteMessageList() +{ + sys::Mutex::ScopedLock l(lock); + std::for_each(incomplete.begin(), incomplete.end(), boost::bind(&Message::resetEnqueueCompleteCallback, _1)); +} + void IncompleteMessageList::add(boost::intrusive_ptr<Message> msg) { sys::Mutex::ScopedLock l(lock); |