3 using namespace YACS::BASES;
7 //pthread_mutexattr_settype(&_options, PTHREAD_MUTEX_FAST_NP);
8 //pthread_mutex_init(&_mutexDesc, &_options);
9 pthread_mutex_init(&_mutexDesc, NULL); // potential hang up at start with commented init
14 pthread_mutex_destroy(&_mutexDesc);
19 pthread_mutex_lock(&_mutexDesc);
22 void MutexPT::unlock()
24 pthread_mutex_unlock(&_mutexDesc);
27 ConditionPT::ConditionPT()
29 pthread_cond_init(&_cond, NULL);
32 ConditionPT::~ConditionPT()
34 pthread_cond_destroy(&_cond);
37 void ConditionPT::notify_one()
39 pthread_cond_signal(&_cond);
42 void ConditionPT::notify_all()
44 pthread_cond_broadcast(&_cond);
47 void ConditionPT::wait(MutexPT& mutex)
49 pthread_cond_wait(&_cond, &mutex._mutexDesc);