#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> &)
);