spinlock.h 935 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef SPINLOCK_H_STUB
  2. #define SPINLOCK_H_STUB
  3. #include <pthread.h>
  4. typedef pthread_spinlock_t spinlock_t;
  5. static inline void spin_lock_init(spinlock_t *lock)
  6. {
  7. int r = pthread_spin_init(lock, 0);
  8. assert(!r);
  9. }
  10. static inline void spin_lock(spinlock_t *lock)
  11. {
  12. int ret = pthread_spin_lock(lock);
  13. assert(!ret);
  14. }
  15. static inline void spin_unlock(spinlock_t *lock)
  16. {
  17. int ret = pthread_spin_unlock(lock);
  18. assert(!ret);
  19. }
  20. static inline void spin_lock_bh(spinlock_t *lock)
  21. {
  22. spin_lock(lock);
  23. }
  24. static inline void spin_unlock_bh(spinlock_t *lock)
  25. {
  26. spin_unlock(lock);
  27. }
  28. static inline void spin_lock_irq(spinlock_t *lock)
  29. {
  30. spin_lock(lock);
  31. }
  32. static inline void spin_unlock_irq(spinlock_t *lock)
  33. {
  34. spin_unlock(lock);
  35. }
  36. static inline void spin_lock_irqsave(spinlock_t *lock, unsigned long f)
  37. {
  38. spin_lock(lock);
  39. }
  40. static inline void spin_unlock_irqrestore(spinlock_t *lock, unsigned long f)
  41. {
  42. spin_unlock(lock);
  43. }
  44. #endif