Warning: This file is not a C or C++ file. It does not have highlighting.

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

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/tools/virtio/linux/spinlock.h