summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/PersistableMessage.cpp
diff options
context:
space:
mode:
authorAlan Conway <aconway@apache.org>2008-11-07 20:48:38 +0000
committerAlan Conway <aconway@apache.org>2008-11-07 20:48:38 +0000
commit0e107c3844c7078cf57212f16b1335dd50d4364c (patch)
treea62880c89a7b0e3a8cace6b96729fab2de34743e /cpp/src/qpid/broker/PersistableMessage.cpp
parent15ea1b2572d040cbf62154b075b1e851cc15a22e (diff)
downloadqpid-python-0e107c3844c7078cf57212f16b1335dd50d4364c.tar.gz
broker/Message, IncompleteMessageList: drop waitFor(De|En)Complete, replace with callbacks.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@712258 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/PersistableMessage.cpp')
-rw-r--r--cpp/src/qpid/broker/PersistableMessage.cpp28
1 files changed, 6 insertions, 22 deletions
diff --git a/cpp/src/qpid/broker/PersistableMessage.cpp b/cpp/src/qpid/broker/PersistableMessage.cpp
index 920dfd6386..4d272c3780 100644
--- a/cpp/src/qpid/broker/PersistableMessage.cpp
+++ b/cpp/src/qpid/broker/PersistableMessage.cpp
@@ -63,25 +63,17 @@ void PersistableMessage::setContentReleased() {contentReleased = true; }
bool PersistableMessage::isContentReleased()const { return contentReleased; }
-void PersistableMessage::waitForEnqueueComplete() {
- sys::ScopedLock<sys::Monitor> l(asyncEnqueueLock);
- while (asyncEnqueueCounter > 0) {
- asyncEnqueueLock.wait();
- }
-}
-
bool PersistableMessage::isEnqueueComplete() {
- sys::ScopedLock<sys::Monitor> l(asyncEnqueueLock);
+ sys::ScopedLock<sys::Mutex> l(asyncEnqueueLock);
return asyncEnqueueCounter == 0;
}
void PersistableMessage::enqueueComplete() {
bool notify = false;
{
- sys::ScopedLock<sys::Monitor> l(asyncEnqueueLock);
+ sys::ScopedLock<sys::Mutex> l(asyncEnqueueLock);
if (asyncEnqueueCounter > 0) {
if (--asyncEnqueueCounter == 0) {
- asyncEnqueueLock.notify();
notify = true;
}
}
@@ -109,36 +101,28 @@ void PersistableMessage::enqueueAsync(PersistableQueue::shared_ptr queue, Messag
}
void PersistableMessage::enqueueAsync() {
- sys::ScopedLock<sys::Monitor> l(asyncEnqueueLock);
+ sys::ScopedLock<sys::Mutex> l(asyncEnqueueLock);
asyncEnqueueCounter++;
}
bool PersistableMessage::isDequeueComplete() {
- sys::ScopedLock<sys::Monitor> l(asyncDequeueLock);
+ sys::ScopedLock<sys::Mutex> l(asyncDequeueLock);
return asyncDequeueCounter == 0;
}
void PersistableMessage::dequeueComplete() {
bool notify = false;
{
- sys::ScopedLock<sys::Monitor> l(asyncDequeueLock);
+ sys::ScopedLock<sys::Mutex> l(asyncDequeueLock);
if (asyncDequeueCounter > 0) {
if (--asyncDequeueCounter == 0) {
notify = true;
- asyncDequeueLock.notify();
}
}
}
if (notify) allDequeuesComplete();
}
-void PersistableMessage::waitForDequeueComplete() {
- sys::ScopedLock<sys::Monitor> l(asyncDequeueLock);
- while (asyncDequeueCounter > 0) {
- asyncDequeueLock.wait();
- }
-}
-
void PersistableMessage::dequeueAsync(PersistableQueue::shared_ptr queue, MessageStore* _store) {
if (_store){
sys::ScopedLock<sys::Mutex> l(storeLock);
@@ -150,7 +134,7 @@ void PersistableMessage::dequeueAsync(PersistableQueue::shared_ptr queue, Messag
}
void PersistableMessage::dequeueAsync() {
- sys::ScopedLock<sys::Monitor> l(asyncDequeueLock);
+ sys::ScopedLock<sys::Mutex> l(asyncDequeueLock);
asyncDequeueCounter++;
}