diff --git a/src/libCom/cxxTemplates/epicsGuard.h b/src/libCom/cxxTemplates/epicsGuard.h index 145f9a040..9726aff89 100644 --- a/src/libCom/cxxTemplates/epicsGuard.h +++ b/src/libCom/cxxTemplates/epicsGuard.h @@ -11,6 +11,10 @@ #ifndef epicsGuardh #define epicsGuardh +#ifndef assert // allow use of epicsAssert.h +# include +#endif + /* * $Id$ * @@ -27,6 +31,7 @@ class epicsGuard { public: epicsGuard ( const epicsGuard & ); epicsGuard ( T & ); + void assertIdenticalMutex ( const T & ) const; ~epicsGuard (); private: T & targetMutex; @@ -76,6 +81,13 @@ inline epicsGuard < T > :: ~epicsGuard () this->targetMutex.unlock (); } +template < class T > +inline void epicsGuard < T > :: assertIdenticalMutex ( + const T & mutexToVerify ) const +{ + assert ( & this->targetMutex == & mutexToVerify ); +} + template < class T > inline epicsGuardRelease < T > :: epicsGuardRelease ( epicsGuard & guardIn ) :