r877: Fix files that were missing from a make dist tarball.
[cinelerra_cv.git] / guicast / sema.h
blob6835860955bf7a172c5f2e00fbf593b7a36cbd14
1 #ifndef SEMA_H
2 #define SEMA_H
5 #include <semaphore.h>
7 class Sema
9 public:
10 Sema(int init_value = 1, char *title = 0);
11 ~Sema();
13 void lock(char *location = 0);
14 void unlock();
15 int get_value();
16 void reset();
18 sem_t sem;
19 char *title;
20 int init_value;
30 #if 0
33 #include <stdio.h>
34 #include <stdlib.h>
35 #include <sys/ipc.h>
36 #include <sys/sem.h>
37 #include <sys/types.h>
39 union semun {
40 int val; /* used for SETVAL only */
41 struct semid_ds *buf; /* for IPC_STAT and IPC_SET */
42 ushort *array; /* used for GETALL and SETALL */
45 class Sema
47 public:
48 Sema(int id = -1, int number = 1);
49 ~Sema();
51 int lock(int number = 0);
52 int unlock(int number = 0);
53 int get_value(int number = 0);
54 int get_id();
56 int semid;
57 int client;
58 int semas;
59 semun arg;
62 #endif
68 #endif