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 | 8760965d85424de9370e72a33c8f58b61e0cf94b (patch) | |
| tree | eb97ec657fc542251926d7998fd908665af1c348 /cpp/src | |
| parent | d6b39db4f806cfc7c774f2ce56369200464a1b1b (diff) | |
| download | qpid-python-8760965d85424de9370e72a33c8f58b61e0cf94b.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/qpid@1145935 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'cpp/src')
| -rw-r--r-- | cpp/src/qpid/client/amqp0_10/SessionImpl.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp b/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp index 787be7de2a..e6255dcd6f 100644 --- a/cpp/src/qpid/client/amqp0_10/SessionImpl.cpp +++ b/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(); } |
