#include <ace/Synch_T.h>
template<class MUTEX> class ACE_Condition {
public:ACE_Condition ( MUTEX &m, int type = USYNC_THREAD, LPCTSTR name = 0, void *arg = 0 );~ACE_Condition (void);int wait (const ACE_Time_Value *abstime);int wait (void);int wait (MUTEX &mutex, const ACE_Time_Value *abstime = 0);int signal (void);int broadcast (void);int remove (void);MUTEX &mutex (void);void dump (void) const;protected:ACE_cond_t *process_cond_;LPCTSTR condname_;ACE_cond_t cond_;MUTEX &mutex_;private:inline ACE_UNIMPLEMENTED_FUNC ( void operator= (const ACE_Condition<MUTEX> &) );};
Note, you can only parameterize ACE_Condition with
ACE_Thread_Mutex or ACE_Null_Mutex.
ACE_Condition (
MUTEX &m,
int type = USYNC_THREAD,
LPCTSTR name = 0,
void *arg = 0
);
~ACE_Condition (void);
int wait (const ACE_Time_Value *abstime);
wait semantics. Else, if abstime
!= 0 and the call times out before the condition is signaled
wait returns -1 and sets errno to ETIME.
int wait (void);
int wait (MUTEX &mutex, const ACE_Time_Value *abstime = 0);
mutex
passed as a parameter (this is useful if you need to store the
Condition in shared memory). Else, if abstime != 0 and the
call times out before the condition is signaled wait returns -1
and sets errno to ETIME.
int signal (void);
int broadcast (void);
int remove (void);
MUTEX &mutex (void);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE; Declare the dynamic allocation hooks.
inline ACE_UNIMPLEMENTED_FUNC (
void operator= (const ACE_Condition<MUTEX> &)
);