Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1#ifndef __LINUX_SPINLOCK_H_
2#define __LINUX_SPINLOCK_H_
3
4#include <pthread.h>
5#include <stdbool.h>
6
7#define spinlock_t pthread_mutex_t
8#define DEFINE_SPINLOCK(x) pthread_mutex_t x = PTHREAD_MUTEX_INITIALIZER;
9
10#define spin_lock_irqsave(x, f) (void)f, pthread_mutex_lock(x)
11#define spin_unlock_irqrestore(x, f) (void)f, pthread_mutex_unlock(x)
12
13#define arch_spinlock_t pthread_mutex_t
14#define __ARCH_SPIN_LOCK_UNLOCKED PTHREAD_MUTEX_INITIALIZER
15
16static inline void arch_spin_lock(arch_spinlock_t *mutex)
17{
18 pthread_mutex_lock(mutex);
19}
20
21static inline void arch_spin_unlock(arch_spinlock_t *mutex)
22{
23 pthread_mutex_unlock(mutex);
24}
25
26static inline bool arch_spin_is_locked(arch_spinlock_t *mutex)
27{
28 return true;
29}
30
31#endif