diff --git a/src/ca/netiiu.cpp b/src/ca/netiiu.cpp index 3a905fe8d..3781d6048 100644 --- a/src/ca/netiiu.cpp +++ b/src/ca/netiiu.cpp @@ -117,7 +117,8 @@ void netiiu::requestRecvProcessPostponedFlush () return; } -void netiiu::uninstallChan ( epicsGuard < cacMutex > &, nciu & ) +void netiiu::uninstallChan ( + epicsGuard < callbackMutex > &, epicsGuard < cacMutex > &, nciu & ) { throw cacChannel::notConnected(); } diff --git a/src/ca/netiiu.h b/src/ca/netiiu.h index 20a8fe975..531c27a33 100644 --- a/src/ca/netiiu.h +++ b/src/ca/netiiu.h @@ -66,7 +66,8 @@ public: ( cacNotify &, epicsGuard < cacMutex > & ) = 0; virtual void requestRecvProcessPostponedFlush () = 0; virtual osiSockAddr getNetworkAddress () const = 0; - virtual void uninstallChan ( epicsGuard < cacMutex > &, nciu & ) = 0; + virtual void uninstallChan ( epicsGuard < callbackMutex > &, + epicsGuard < cacMutex > &, nciu & ) = 0; virtual double receiveWatchdogDelay () const = 0; }; diff --git a/src/ca/udpiiu.cpp b/src/ca/udpiiu.cpp index 425bb4b56..6d00fb621 100644 --- a/src/ca/udpiiu.cpp +++ b/src/ca/udpiiu.cpp @@ -1072,6 +1072,7 @@ int udpiiu::printf ( const char *pformat, ... ) } void udpiiu::uninstallChan ( + epicsGuard < callbackMutex > &, epicsGuard < cacMutex > &, nciu & chan ) { epicsGuard < udpMutex > guard ( this->mutex ); diff --git a/src/ca/udpiiu.h b/src/ca/udpiiu.h index 82decfaca..f647df4b8 100644 --- a/src/ca/udpiiu.h +++ b/src/ca/udpiiu.h @@ -96,7 +96,8 @@ public: void beaconAnomalyNotify ( const epicsTime & currentTime ); int printf ( const char *pformat, ... ); unsigned channelCount ( epicsGuard < udpMutex > & ) const; - void uninstallChan ( epicsGuard < cacMutex > &, nciu & ); + void uninstallChan ( + epicsGuard < callbackMutex > &, epicsGuard < cacMutex > &, nciu & ); bool pushDatagramMsg ( const caHdr & hdr, const void * pExt, ca_uint16_t extsize); void shutdown ();