Add a semaphore implementation
[fio.git] / mutex.h
1 #ifndef FIO_MUTEX_H
2 #define FIO_MUTEX_H
3
4 #include <pthread.h>
5
6 struct fio_mutex {
7         pthread_mutex_t lock;
8         pthread_cond_t cond;
9         unsigned int value;
10
11         int mutex_fd;
12 };
13
14 extern struct fio_mutex *fio_mutex_init(int);
15 extern void fio_mutex_remove(struct fio_mutex *);
16 extern void fio_mutex_down(struct fio_mutex *);
17 extern void fio_mutex_up(struct fio_mutex *);
18
19 #endif