57 lines · c
1#ifndef SPINLOCK_H_STUB2#define SPINLOCK_H_STUB3 4#include <pthread.h>5 6typedef pthread_spinlock_t spinlock_t;7 8static inline void spin_lock_init(spinlock_t *lock)9{10 int r = pthread_spin_init(lock, 0);11 assert(!r);12}13 14static inline void spin_lock(spinlock_t *lock)15{16 int ret = pthread_spin_lock(lock);17 assert(!ret);18}19 20static inline void spin_unlock(spinlock_t *lock)21{22 int ret = pthread_spin_unlock(lock);23 assert(!ret);24}25 26static inline void spin_lock_bh(spinlock_t *lock)27{28 spin_lock(lock);29}30 31static inline void spin_unlock_bh(spinlock_t *lock)32{33 spin_unlock(lock);34}35 36static inline void spin_lock_irq(spinlock_t *lock)37{38 spin_lock(lock);39}40 41static inline void spin_unlock_irq(spinlock_t *lock)42{43 spin_unlock(lock);44}45 46static inline void spin_lock_irqsave(spinlock_t *lock, unsigned long f)47{48 spin_lock(lock);49}50 51static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long f)52{53 spin_unlock(lock);54}55 56#endif57