many changes associated will disconnecting the channel but not disconnecting
the circuit
This commit is contained in:
+10
-7
@@ -65,15 +65,16 @@ void dbChannelIO::destructor ( epicsGuard < epicsMutex > & guard )
|
||||
this->~dbChannelIO ();
|
||||
}
|
||||
|
||||
void dbChannelIO::destroy ( epicsGuard < epicsMutex > & guard )
|
||||
void dbChannelIO::destroy (
|
||||
epicsGuard < epicsMutex > & callbackControlGuard,
|
||||
epicsGuard < epicsMutex > & mutualExclusionGuard )
|
||||
{
|
||||
guard.assertIdenticalMutex ( this->mutex );
|
||||
this->serviceIO.destroyChannel ( guard, *this );
|
||||
mutualExclusionGuard.assertIdenticalMutex ( this->mutex );
|
||||
this->serviceIO.destroyChannel ( mutualExclusionGuard, *this );
|
||||
// dont access this pointer after above call because
|
||||
// object nolonger exists
|
||||
}
|
||||
|
||||
|
||||
cacChannel::ioStatus dbChannelIO::read (
|
||||
epicsGuard < epicsMutex > & guard, unsigned type,
|
||||
unsigned long count, cacReadNotify & notify, ioid * )
|
||||
@@ -129,10 +130,12 @@ void dbChannelIO::subscribe (
|
||||
}
|
||||
|
||||
void dbChannelIO::ioCancel (
|
||||
epicsGuard < epicsMutex > & guard, const ioid & id )
|
||||
epicsGuard < epicsMutex > & callbackControlGuard,
|
||||
epicsGuard < epicsMutex > & mutualExclusionGuard,
|
||||
const ioid & id )
|
||||
{
|
||||
guard.assertIdenticalMutex ( this->mutex );
|
||||
this->serviceIO.ioCancel ( guard, *this, id );
|
||||
mutualExclusionGuard.assertIdenticalMutex ( this->mutex );
|
||||
this->serviceIO.ioCancel ( mutualExclusionGuard, *this, id );
|
||||
}
|
||||
|
||||
void dbChannelIO::ioShow (
|
||||
|
||||
Reference in New Issue
Block a user