mutex.h revision 07739b57f09886b41323c605b0dbda7d2c12522b
107739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#ifndef FIO_MUTEX_H 207739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#define FIO_MUTEX_H 307739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 407739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#include <pthread.h> 507739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 607739b57f09886b41323c605b0dbda7d2c12522bJens Axboestruct fio_sem { 707739b57f09886b41323c605b0dbda7d2c12522bJens Axboe pthread_mutex_t lock; 807739b57f09886b41323c605b0dbda7d2c12522bJens Axboe pthread_cond_t cond; 907739b57f09886b41323c605b0dbda7d2c12522bJens Axboe unsigned int value; 1007739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 1107739b57f09886b41323c605b0dbda7d2c12522bJens Axboe char sem_name[32]; 1207739b57f09886b41323c605b0dbda7d2c12522bJens Axboe}; 1307739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 1407739b57f09886b41323c605b0dbda7d2c12522bJens Axboeextern struct fio_sem *fio_sem_init(int); 1507739b57f09886b41323c605b0dbda7d2c12522bJens Axboeextern void fio_sem_remove(struct fio_sem *); 1607739b57f09886b41323c605b0dbda7d2c12522bJens Axboeextern inline void fio_sem_down(struct fio_sem *); 1707739b57f09886b41323c605b0dbda7d2c12522bJens Axboeextern inline void fio_sem_up(struct fio_sem *sem); 1807739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 1907739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#endif 20