linux/tools/virtio/linux/spinlock.h
<<
>>
Prefs
   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
  57