17 INLINE ConditionVarPosixImpl::
18 ConditionVarPosixImpl(MutexPosixImpl &mutex) :
21 TAU_PROFILE(
"ConditionVarPosixImpl::ConditionVarPosixImpl()",
" ", TAU_USER);
22 int result = pthread_cond_init(&_cvar,
nullptr);
23 nassertv(result == 0);
29 INLINE ConditionVarPosixImpl::
30 ~ConditionVarPosixImpl() {
31 TAU_PROFILE(
"ConditionVarPosixImpl::~ConditionVarPosixImpl()",
" ", TAU_USER);
32 int result = pthread_cond_destroy(&_cvar);
33 nassertv(result == 0);
39 INLINE
void ConditionVarPosixImpl::
41 TAU_PROFILE(
"ConditionVarPosixImpl::wait()",
" ", TAU_USER);
42 int result = pthread_cond_wait(&_cvar, &_mutex._lock);
46 <<
"Unexpected error " << result <<
" from pthread_cond_wait()\n";
54 INLINE
void ConditionVarPosixImpl::
56 TAU_PROFILE(
"ConditionVarPosixImpl::notify()",
" ", TAU_USER);
57 int result = pthread_cond_signal(&_cvar);
58 nassertv(result == 0);
64 INLINE
void ConditionVarPosixImpl::
66 TAU_PROFILE(
"ConditionVarPosixImpl::notify()",
" ", TAU_USER);
67 int result = pthread_cond_broadcast(&_cvar);
68 nassertv(result == 0);