This commit is contained in:
Michael Davidsaver
2017-08-31 14:48:27 -05:00
parent 1b03882506
commit bf3fda4e92
2 changed files with 8 additions and 8 deletions

View File

@ -86,7 +86,7 @@ ChannelCacheEntry::CRequester::channelStateChange(pva::Channel::shared_pointer c
case pva::Channel::DESTROYED:
// Drop from cache
chan->cache->entries.erase(chan->channelName);
// keep 'chan' as a reference is that actual destruction doesn't happen which cacheLock is held
// keep 'chan' as a reference so that actual destruction doesn't happen which cacheLock is held
break;
default:
break;
@ -102,6 +102,8 @@ ChannelCacheEntry::CRequester::channelStateChange(pva::Channel::shared_pointer c
pva::ChannelRequester::shared_pointer req(chan->requester.lock());
if(req)
req->channelStateChange(*it, connectionState);
else
std::cout<<"GWChannel w/ dead requester\n";
}
}

View File

@ -269,7 +269,7 @@ struct PDBProcessor
* post() a PVA monitor with ".FLD" and ".FLD2" (aka ".other").
* If no triggers specified, then every field subscribed to trigger itself
* info(pdbAtomic, "<groupname>|...")
* Allowed values are "YES" or "NO". Defaults to "NO"
* Allowed values are "YES" or "NO". Defaults to "YES"
* Whether triggers use multi or single record locking.
* Defines default to get/put operations, but individual
* requests may override.
@ -433,10 +433,8 @@ PDBProvider::PDBProvider(const epics::pvAccess::Configuration::shared_pointer &)
info.evt_PROPERTY.create(event_context, info.chan, &pdb_group_event, DBE_PROPERTY);
if(!info.triggers.empty()) {
printf("##### setup VALUE %s\n", dbChannelName(info.chan));
info.evt_VALUE.create(event_context, info.chan, &pdb_group_event, DBE_VALUE|DBE_ALARM);
} else
printf("##### skip VALUE %s\n", dbChannelName(info.chan));
}
}
}
}catch(...){
@ -450,7 +448,7 @@ PDBProvider::PDBProvider(const epics::pvAccess::Configuration::shared_pointer &)
PDBProvider::~PDBProvider()
{
epics::atomic::decrement(ninstances);
std::cerr<<"########## "<<__PRETTY_FUNCTION__<<"\n";
{
epicsGuard<epicsMutex> G(transient_pv_map.mutex());
if(event_context) {
@ -466,7 +464,7 @@ PDBProvider::~PDBProvider()
void PDBProvider::destroy()
{
dbEventCtx ctxt = NULL;
std::cerr<<"########## "<<__PRETTY_FUNCTION__<<"\n";
persist_pv_map_t ppv;
{
epicsGuard<epicsMutex> G(transient_pv_map.mutex());
@ -533,7 +531,7 @@ PDBProvider::createChannel(std::string const & channelName,
pva::Channel::shared_pointer ret;
PDBPV::shared_pointer pv;
pvd::Status status;
std::cerr<<"######## "<<__PRETTY_FUNCTION__<<" name"<<channelName<<"\n";
{
epicsGuard<epicsMutex> G(transient_pv_map.mutex());