fixed channel delete in get callback handler bug discovered by regression tests

This commit is contained in:
Jeff Hill
2004-05-20 21:58:41 +00:00
parent 2c05bf61ce
commit dc31948da1

View File

@@ -53,11 +53,13 @@ void getCallback::completion (
args.status = ECA_NORMAL;
args.dbr = pData;
caEventCallBackFunc * pFuncTmp = this->pFunc;
// fetch client context and destroy prior to releasing
// the lock and calling cb in case they destroy channel there
this->chan.getClientCtx().destroyGetCallback ( guard, *this );
{
epicsGuardRelease < epicsMutex > unguard ( guard );
( *pFuncTmp ) ( args );
}
this->chan.getClientCtx().destroyGetCallback ( guard, *this );
}
void getCallback::exception (