diff options
Diffstat (limited to 'cpp/src/qpid/client/ConnectionImpl.h')
| -rw-r--r-- | cpp/src/qpid/client/ConnectionImpl.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/cpp/src/qpid/client/ConnectionImpl.h b/cpp/src/qpid/client/ConnectionImpl.h index 1d88fcaf99..c2313e72bc 100644 --- a/cpp/src/qpid/client/ConnectionImpl.h +++ b/cpp/src/qpid/client/ConnectionImpl.h @@ -26,7 +26,7 @@ #include "qpid/client/ConnectionHandler.h" #include "qpid/framing/FrameHandler.h" -#include "qpid/sys/Mutex.h" +#include "qpid/sys/Monitor.h" #include "qpid/sys/ShutdownHandler.h" #include "qpid/sys/TimeoutHandler.h" @@ -60,7 +60,8 @@ class ConnectionImpl : public Bounds, boost::scoped_ptr<Connector> connector; framing::ProtocolVersion version; uint16_t nextChannel; - sys::Mutex lock; + sys::Monitor lock; + bool shutdownComplete; boost::intrusive_ptr<qpid::sys::TimerTask> heartbeatTask; @@ -72,6 +73,9 @@ class ConnectionImpl : public Bounds, void idleOut(); void idleIn(); void shutdown(); + void failedConnection(); + void waitForShutdownComplete(); + void notifyShutdownComplete(); boost::function<void ()> failureCallback; |
