mutex.h revision af4bab56db4f87410c491c356954bbb65171f94d
107739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#ifndef FIO_MUTEX_H 207739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#define FIO_MUTEX_H 307739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 407739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#include <pthread.h> 507739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 6cdd18ad87ed9a3639b76c41cfc9682ad7cce652eJens Axboestruct fio_mutex { 707739b57f09886b41323c605b0dbda7d2c12522bJens Axboe pthread_mutex_t lock; 807739b57f09886b41323c605b0dbda7d2c12522bJens Axboe pthread_cond_t cond; 907739b57f09886b41323c605b0dbda7d2c12522bJens Axboe unsigned int value; 1007739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 11cdd18ad87ed9a3639b76c41cfc9682ad7cce652eJens Axboe int mutex_fd; 1207739b57f09886b41323c605b0dbda7d2c12522bJens Axboe}; 1307739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 14cdd18ad87ed9a3639b76c41cfc9682ad7cce652eJens Axboeextern struct fio_mutex *fio_mutex_init(int); 15cdd18ad87ed9a3639b76c41cfc9682ad7cce652eJens Axboeextern void fio_mutex_remove(struct fio_mutex *); 16af4bab56db4f87410c491c356954bbb65171f94dJens Axboeextern void fio_mutex_down(struct fio_mutex *); 17af4bab56db4f87410c491c356954bbb65171f94dJens Axboeextern void fio_mutex_up(struct fio_mutex *); 1807739b57f09886b41323c605b0dbda7d2c12522bJens Axboe 1907739b57f09886b41323c605b0dbda7d2c12522bJens Axboe#endif 20