break strong ref. loop between ChannelCache and GWServerChannelProvider

This commit is contained in:
Michael Davidsaver
2015-09-09 17:03:06 -04:00
parent ee6442ec90
commit c761c94bfc
2 changed files with 2 additions and 2 deletions

View File

@ -66,7 +66,7 @@ struct ChannelCache
entries_t entries; entries_t entries;
epics::pvAccess::ChannelProvider::shared_pointer provider; // client Provider epics::pvAccess::ChannelProvider::shared_pointer provider; // client Provider
epics::pvAccess::ChannelProvider::shared_pointer server; // GWServerChannelProvider epics::pvAccess::ChannelProvider::weak_pointer server; // GWServerChannelProvider
epicsTimerQueueActive *timerQueue; epicsTimerQueueActive *timerQueue;
epicsTimer *cleanTimer; epicsTimer *cleanTimer;

View File

@ -37,7 +37,7 @@ GWChannel::message(std::string const & message, pvd::MessageType messageType)
std::tr1::shared_ptr<epics::pvAccess::ChannelProvider> std::tr1::shared_ptr<epics::pvAccess::ChannelProvider>
GWChannel::getProvider() GWChannel::getProvider()
{ {
return entry->cache->server; return entry->cache->server.lock();
} }
std::string std::string