dol: initial dol commit
[jump.git] / dol / src / dol / visitor / PipeAndFilter / lib / Condition.cpp
1 #include "Condition.h"\r
2 \r
3 Condition::Condition(Mutex *mutex) {\r
4     //std::cout << "Create Condition." << std::endl;\r
5     _mutex = mutex;\r
6     _condition = new pthread_cond_t;\r
7     pthread_cond_init(_condition, NULL);\r
8 }\r
9 \r
10 \r
11 Condition::~Condition() {\r
12     //std::cout << "Delete Condition." << std::endl;\r
13     pthread_cond_destroy(_condition);\r
14     delete _condition;\r
15     //std::cout << "Deleted Condition." << std::endl;\r
16 }\r
17 \r
18 \r
19 void Condition::notify() {\r
20     pthread_cond_signal(_condition);\r
21 }\r
22 \r
23 \r
24 void Condition::notifyAll() {\r
25     pthread_cond_broadcast(_condition);\r
26 }\r
27 \r
28 \r
29 void Condition::wait() {\r
30     pthread_cond_wait(_condition, _mutex->getPThreadMutex());\r
31 }\r