diff options
Diffstat (limited to 'qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp')
-rw-r--r-- | qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp b/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp index ebe3fff1cb..67b2ae2f6f 100644 --- a/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp +++ b/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp @@ -47,9 +47,11 @@ void DriverImpl::start() void DriverImpl::stop() { QPID_LOG(debug, "Driver stopped"); - poller->shutdown(); - thread.join(); - timer->stop(); + if (!poller->hasShutdown()) { + poller->shutdown(); + thread.join(); + timer->stop(); + } } boost::shared_ptr<Transport> DriverImpl::getTransport(const std::string& protocol, TransportContext& connection) |