summaryrefslogtreecommitdiff
path: root/cpp/src/qpid/broker/Queue.cpp
diff options
context:
space:
mode:
authorGordon Sim <gsim@apache.org>2007-11-08 10:08:26 +0000
committerGordon Sim <gsim@apache.org>2007-11-08 10:08:26 +0000
commitad551b003bd50fb79db8be9f88ca63d9b414a42e (patch)
tree547ad79c00a82f48cfeb25a032e702f72c56a3ae /cpp/src/qpid/broker/Queue.cpp
parenta710089a99aa735d8db1334cce9d83042ef84226 (diff)
downloadqpid-python-ad551b003bd50fb79db8be9f88ca63d9b414a42e.tar.gz
Ensure browsers are always serviced on the serializers dispatch thread to avoid concurrent servicing threads interfering with each other.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@593112 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid/broker/Queue.cpp')
-rw-r--r--cpp/src/qpid/broker/Queue.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/cpp/src/qpid/broker/Queue.cpp b/cpp/src/qpid/broker/Queue.cpp
index 44ed743880..a250009c77 100644
--- a/cpp/src/qpid/broker/Queue.cpp
+++ b/cpp/src/qpid/broker/Queue.cpp
@@ -138,7 +138,8 @@ void Queue::requestDispatch(Consumer::ptr c){
if (!c || c->preAcquires()) {
serializer.execute(dispatchCallback);
} else {
- serviceBrowser(c);
+ DispatchFunctor f(*this, c);
+ serializer.execute(f);
}
}