diff options
Diffstat (limited to 'cpp/src/qpid/client/SslConnector.cpp')
-rw-r--r-- | cpp/src/qpid/client/SslConnector.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/qpid/client/SslConnector.cpp b/cpp/src/qpid/client/SslConnector.cpp index 635de1f62d..8194371b8a 100644 --- a/cpp/src/qpid/client/SslConnector.cpp +++ b/cpp/src/qpid/client/SslConnector.cpp @@ -89,6 +89,7 @@ class SslConnector : public Connector sys::Mutex closedLock; bool closed; + bool joined; sys::ShutdownHandler* shutdownHandler; framing::InputHandler* input; @@ -114,6 +115,8 @@ class SslConnector : public Connector std::string identifier; + ConnectionImpl* impl; + void connect(const std::string& host, int port); void init(); void close(); @@ -171,10 +174,12 @@ SslConnector::SslConnector(Poller::shared_ptr p, version(ver), initiated(false), closed(true), + joined(true), shutdownHandler(0), writer(maxFrameSize, cimpl), aio(0), - poller(p) + poller(p), + impl(cimpl) { QPID_LOG(debug, "SslConnector created for " << version.toString()); //TODO: how do we want to handle socket configuration with ssl? @@ -209,8 +214,10 @@ void SslConnector::connect(const std::string& host, int port){ void SslConnector::init(){ Mutex::ScopedLock l(closedLock); + assert(joined); ProtocolInitiation init(version); writeDataBlock(init); + joined = false; for (int i = 0; i < 32; i++) { aio->queueReadBuffer(new Buff(maxFrameSize)); } |