From 4f09be744fac5ae6dbea9b5113398317b61ae44d Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Thu, 11 Jan 2001 22:24:01 +0000 Subject: [PATCH] fixed syntax error in construtor --- src/libCom/osi/epicsEvent.h | 3 +++ src/libCom/osi/epicsMutex.h | 30 ++++++++++++++++++------------ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/src/libCom/osi/epicsEvent.h b/src/libCom/osi/epicsEvent.h index de0b17d27..abe9cca98 100644 --- a/src/libCom/osi/epicsEvent.h +++ b/src/libCom/osi/epicsEvent.h @@ -13,7 +13,9 @@ typedef enum { typedef enum {epicsEventEmpty,epicsEventFull} epicsEventInitialState; #ifdef __cplusplus + #include "locationException.h" + class epicsShareClass epicsEvent { public: epicsEvent (epicsEventInitialState initial=epicsEventEmpty); @@ -31,6 +33,7 @@ private: epicsEvent & operator = ( const epicsEvent & ); epicsEventId id; }; + #endif /*__cplusplus */ #ifdef __cplusplus diff --git a/src/libCom/osi/epicsMutex.h b/src/libCom/osi/epicsMutex.h index 07e2a045c..730d1bf1b 100644 --- a/src/libCom/osi/epicsMutex.h +++ b/src/libCom/osi/epicsMutex.h @@ -10,7 +10,9 @@ typedef enum { } epicsMutexLockStatus; #ifdef __cplusplus + #include "locationException.h" + class epicsShareClass epicsMutex { public: epicsMutex (); @@ -24,8 +26,23 @@ public: class invalidSemaphore {}; /* exception */ class noMemory {}; /* exception */ private: + epicsMutex ( const epicsMutex & ); + epicsMutex & operator = ( const epicsMutex & ); mutable epicsMutexId id; }; + +// Automatically applies and releases the mutex. +// This is for use in situations where C++ exceptions are possible. +class epicsAutoMutex { +public: + epicsAutoMutex ( epicsMutex & ); + ~epicsAutoMutex (); +private: + epicsAutoMutex ( const epicsAutoMutex & ); + epicsAutoMutex & operator = ( const epicsAutoMutex & ); + epicsMutex &mutex; +}; + #endif /*__cplusplus*/ #ifdef __cplusplus @@ -59,19 +76,8 @@ epicsShareFunc void epicsShareAPI epicsMutexShow( /* The c++ implementation is inline calls to thye c code */ #ifdef __cplusplus -// Automatically applies and releases the mutex. -// This is for use in situations where C++ exceptions are possible. -class epicsAutoMutex { -public: - epicsAutoMutex ( epicsMutex & ); - ~epicsAutoMutex (); -private: - epicsMutex ( const epicsMutex & ); - epicsMutex & operator = ( const epicsMutex & ); - epicsMutex &mutex; -}; -inline epicsMutex::epicsMutex () +inline epicsMutex::epicsMutex () : id ( epicsMutexCreate () ) { if ( this->id == 0 ) {