summaryrefslogtreecommitdiff
path: root/qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp')
-rw-r--r--qpid/cpp/src/qpid/messaging/amqp/DriverImpl.cpp8
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)