From 3dca3dc38f839d9a795f41eb88ddb0b95f7c3cb1 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 22 Jun 2017 13:51:38 +0200 Subject: [PATCH] ServerContext clear timer queue --- src/remote/codec.cpp | 2 +- src/server/serverContext.cpp | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/remote/codec.cpp b/src/remote/codec.cpp index 0b586c5..44cab1f 100644 --- a/src/remote/codec.cpp +++ b/src/remote/codec.cpp @@ -47,7 +47,7 @@ namespace { struct BreakTransport : TransportSender { virtual ~BreakTransport() {} - virtual void send(epics::pvData::ByteBuffer* buffer, TransportSendControl* control) + virtual void send(epics::pvData::ByteBuffer* buffer, TransportSendControl* control) OVERRIDE FINAL { throw epics::pvAccess::detail::connection_closed_exception("Break"); } diff --git a/src/server/serverContext.cpp b/src/server/serverContext.cpp index e5d461e..7899399 100644 --- a/src/server/serverContext.cpp +++ b/src/server/serverContext.cpp @@ -329,6 +329,9 @@ void ServerContextImpl::shutdown() // this will also destroy all channels destroyAllTransports(); + // drop timer queue + _timer.reset(); + // response handlers hold strong references to us, // so must break the cycles _responseHandler.reset();