From 3f3f6963a0ecdc7f758e9be3a762361d403dc1bf Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Wed, 12 Feb 2003 18:58:50 +0000 Subject: [PATCH] added mf to check for identical mutex --- src/libCom/cxxTemplates/epicsGuard.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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 ) :