still some bugs...but stall site code generation is in
[IRC.git] / Robust / src / Runtime / psemaphore.h
1 #ifndef ___PSEMAPHORE_H__
2 #define ___PSEMAPHORE_H__
3
4 #include <pthread.h>
5 #include "garbage.h"
6
7
8 typedef struct psemaphore_t {
9   pthread_mutex_t lock;
10   pthread_cond_t  cond;
11   int             signaled;
12   int             tag;
13 } psemaphore;
14
15
16 void psem_init ( psemaphore* sem );
17 void psem_take ( psemaphore* sem, struct garbagelist* gl );
18 void psem_give_tag ( psemaphore* sem, int tag );
19 void psem_give ( psemaphore* sem);
20 void psem_reset( psemaphore* sem );
21
22
23 #endif // ___PSEMAPHORE_H__