diff options
| author | Gordon Sim <gsim@apache.org> | 2010-07-06 17:27:58 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2010-07-06 17:27:58 +0000 |
| commit | dda1aa80a4fa0ddc72057881e21276197b3d344e (patch) | |
| tree | 324dea0e36a43038556ff80c000216a2e5906da8 /cpp/src/qpid | |
| parent | 35510d734264a82a5e477e826c3666e9fdbadc62 (diff) | |
| download | qpid-python-dda1aa80a4fa0ddc72057881e21276197b3d344e.tar.gz | |
QPID-664: Don't hold lock while waiting for incoming message in nextReceiver() call.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@960951 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src/qpid')
| -rw-r--r-- | cpp/src/qpid/client/amqp0_10/SessionImpl.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp index a6067097bb..800c3269b9 100644 --- a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp +++ b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp @@ -323,11 +323,11 @@ bool SessionImpl::get(ReceiverImpl& receiver, qpid::messaging::Message& message, bool SessionImpl::nextReceiver(qpid::messaging::Receiver& receiver, qpid::messaging::Duration timeout) { - qpid::sys::Mutex::ScopedLock l(lock); while (true) { try { std::string destination; if (incoming.getNextDestination(destination, adjust(timeout))) { + qpid::sys::Mutex::ScopedLock l(lock); Receivers::const_iterator i = receivers.find(destination); if (i == receivers.end()) { throw qpid::messaging::ReceiverError(QPID_MSG("Received message for unknown destination " << destination)); |
