spinlock.h (935B)
1#ifndef SPINLOCK_H_STUB 2#define SPINLOCK_H_STUB 3 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#endif