brintos

brintos / linux-shallow public Read only

0
0
Text · 600 B · ef5cbc3 Raw
31 lines · c
1#ifndef _PERF_RWSEM_H2#define _PERF_RWSEM_H3 4#include <pthread.h>5#include "mutex.h"6 7/*8 * Mutexes have additional error checking. Enable to use a mutex rather than a9 * rwlock for debugging.10 */11#define RWS_ERRORCHECK 012 13struct rw_semaphore {14#if RWS_ERRORCHECK15	struct mutex mtx;16#else17	pthread_rwlock_t lock;18#endif19};20 21int init_rwsem(struct rw_semaphore *sem);22int exit_rwsem(struct rw_semaphore *sem);23 24int down_read(struct rw_semaphore *sem);25int up_read(struct rw_semaphore *sem);26 27int down_write(struct rw_semaphore *sem);28int up_write(struct rw_semaphore *sem);29 30#endif /* _PERF_RWSEM_H */31