diff options
| author | Gordon Sim <gsim@apache.org> | 2011-07-13 09:52:35 +0000 |
|---|---|---|
| committer | Gordon Sim <gsim@apache.org> | 2011-07-13 09:52:35 +0000 |
| commit | 436e5d7e3a8a30ab4f724604383675a4f8f70533 (patch) | |
| tree | 5c0c6b64c2e1bf384642add72796f7df8f112543 /qpid/cpp | |
| parent | f87bca17a4e6ddb4a4d81d82b72034d095afb98c (diff) | |
| download | qpid-python-436e5d7e3a8a30ab4f724604383675a4f8f70533.tar.gz | |
QPID-3355: Ensure session is not deleted out from under a sync() call
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1145935 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/cpp')
| -rw-r--r-- | qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp b/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp index 787be7de2a..e6255dcd6f 100644 --- a/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp +++ b/qpid/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp @@ -432,8 +432,11 @@ uint32_t SessionImpl::getUnsettledAcksImpl(const std::string* destination) void SessionImpl::syncImpl(bool block) { - if (block) session.sync(); - else session.flush(); + { + ScopedLock l(lock); + if (block) session.sync(); + else session.flush(); + } //cleanup unconfirmed accept records: incoming.pendingAccept(); } |
