21 INLINE ConditionVarPosixImpl::
22 ConditionVarPosixImpl(MutexPosixImpl &mutex) :
25 TAU_PROFILE(
"ConditionVarPosixImpl::ConditionVarPosixImpl()",
" ", TAU_USER);
26 int result = pthread_cond_init(&_cvar, NULL);
27 nassertv(result == 0);
35 INLINE ConditionVarPosixImpl::
36 ~ConditionVarPosixImpl() {
37 TAU_PROFILE(
"ConditionVarPosixImpl::~ConditionVarPosixImpl()",
" ", TAU_USER);
38 int result = pthread_cond_destroy(&_cvar);
39 nassertv(result == 0);
47 INLINE
void ConditionVarPosixImpl::
49 TAU_PROFILE(
"ConditionVarPosixImpl::wait()",
" ", TAU_USER);
50 int result = pthread_cond_wait(&_cvar, &_mutex._lock);
54 <<
"Unexpected error " << result <<
" from pthread_cond_wait()\n";
64 INLINE
void ConditionVarPosixImpl::
66 TAU_PROFILE(
"ConditionVarPosixImpl::notify()",
" ", TAU_USER);
67 int result = pthread_cond_signal(&_cvar);
68 nassertv(result == 0);
76 INLINE
void ConditionVarPosixImpl::
78 TAU_PROFILE(
"ConditionVarPosixImpl::notify()",
" ", TAU_USER);
79 int result = pthread_cond_broadcast(&_cvar);
80 nassertv(result == 0);