29 Dam::Dam(
bool pState,
bool pShared) : aState(pState) {
31 pthread_mutexattr_t vMutexAttr;
32 pthread_condattr_t vCondAttr;
33 pthread_mutexattr_init(&vMutexAttr);
34 pthread_condattr_init(&vCondAttr);
36 pthread_mutexattr_setpshared(&vMutexAttr,PTHREAD_PROCESS_SHARED);
37 pthread_condattr_setpshared (&vCondAttr,PTHREAD_PROCESS_SHARED);
40 pthread_mutexattr_setpshared(&vMutexAttr,PTHREAD_PROCESS_PRIVATE);
41 pthread_condattr_setpshared (&vCondAttr,PTHREAD_PROCESS_PRIVATE);
43 pthread_mutex_init (&aConditionMutex,&vMutexAttr);
44 pthread_cond_init (&aConditionHandler,&vCondAttr);
45 pthread_mutex_init (&aWorkMutex,&vMutexAttr);
46 pthread_condattr_destroy (&vCondAttr);
47 pthread_mutexattr_destroy(&vMutexAttr);
55 pthread_mutex_destroy (&aWorkMutex);
56 pthread_cond_destroy (&aConditionHandler);
57 pthread_mutex_destroy (&aConditionMutex);
71 pthread_cond_wait(&aConditionHandler,&aConditionMutex);
98 pthread_cond_broadcast(&aConditionHandler);
119 pthread_cond_broadcast(&aConditionHandler);
130 vResult = (
OPEN == aState);
139 vResult = (
CLOSED == aState);