From 6ba8416736a4a17c810750d5be61594ac827cb06 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Thu, 31 Aug 2017 14:56:56 -0500 Subject: [PATCH] reftrace Channel --- src/client/pv/pvAccess.h | 2 ++ src/client/pvAccess.cpp | 6 ++++-- src/factory/ChannelAccessFactory.cpp | 1 + 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/client/pv/pvAccess.h b/src/client/pv/pvAccess.h index b17e08e..61d6022 100644 --- a/src/client/pv/pvAccess.h +++ b/src/client/pv/pvAccess.h @@ -835,6 +835,8 @@ public: POINTER_DEFINITIONS(Channel); typedef ChannelRequester requester_type; + static size_t num_instances; + Channel(); virtual ~Channel(); diff --git a/src/client/pvAccess.cpp b/src/client/pvAccess.cpp index 63575b0..165563f 100644 --- a/src/client/pvAccess.cpp +++ b/src/client/pvAccess.cpp @@ -14,10 +14,12 @@ namespace pvd = epics::pvData; namespace epics { namespace pvAccess { +size_t Channel::num_instances; + const char* Channel::ConnectionStateNames[] = { "NEVER_CONNECTED", "CONNECTED", "DISCONNECTED", "DESTROYED" }; -Channel::Channel() {} -Channel::~Channel() {} +Channel::Channel() {REFTRACE_INCREMENT(num_instances);} +Channel::~Channel() {REFTRACE_DECREMENT(num_instances);} std::string Channel::getRequesterName() { diff --git a/src/factory/ChannelAccessFactory.cpp b/src/factory/ChannelAccessFactory.cpp index 42d4ee3..05b1e90 100644 --- a/src/factory/ChannelAccessFactory.cpp +++ b/src/factory/ChannelAccessFactory.cpp @@ -165,6 +165,7 @@ void providerRegInit(void*) registerRefCounter("ServerChannelImpl", &ServerChannelImpl::num_instances); registerRefCounter("BlockingTCPTransportCodec", &detail::BlockingTCPTransportCodec::num_instances); registerRefCounter("ChannelProvider (ABC)", &ChannelProvider::num_instances); + registerRefCounter("Channel (ABC)", &Channel::num_instances); registerRefCounter("ChannelRequester (ABC)", &ChannelRequester::num_instances); registerRefCounter("ChannelBaseRequester (ABC)", &ChannelBaseRequester::num_instances); registerRefCounter("ChannelRequest (ABC)", &ChannelRequest::num_instances);