1
/* "Backport" of the mutex to older Linux-2.6.x kernels.
3
#ifndef __LINUX_MUTEX_H
4
#define __LINUX_MUTEX_H
6
#include <asm/semaphore.h>
12
static inline void mutex_init(struct mutex *m)
14
sema_init(&m->sem, 1);
17
static inline void mutex_lock(struct mutex *m)
22
static inline int mutex_lock_interruptible(struct mutex *m)
24
return down_interruptible(&m->sem);
27
static inline void mutex_unlock(struct mutex *m)
32
static inline int mutex_is_locked(struct mutex *lock)
34
return atomic_read(&lock->sem.count) != 1;
37
static inline int mutex_trylock(struct mutex *lock)
39
return !down_trylock(&lock->sem);