28 ClassImp(TPosixCondition);
36 TPosixCondition::TPosixCondition(TMutexImp *m)
38 fMutex = (TPosixMutex *) m;
40 int rc = pthread_cond_init(&fCond, 0);
43 SysError(
"TPosixCondition",
"pthread_cond_init error");
49 TPosixCondition::~TPosixCondition()
51 int rc = pthread_cond_destroy(&fCond);
54 SysError(
"~TPosixCondition",
"pthread_cond_destroy error");
63 Int_t TPosixCondition::Wait()
65 return pthread_cond_wait(&fCond, &(fMutex->fMutex));
74 Int_t TPosixCondition::TimedWait(ULong_t secs, ULong_t nanoSecs)
76 timespec rqts = { (Long_t)secs, (Long_t)nanoSecs };
78 int rc = pthread_cond_timedwait(&fCond, &(fMutex->fMutex), &rqts);
90 Int_t TPosixCondition::Signal()
92 return pthread_cond_signal(&fCond);
99 Int_t TPosixCondition::Broadcast()
101 return pthread_cond_broadcast(&fCond);