Go to the documentation of this file.
12 #ifndef __METAL_SPINLOCK__H__
13 #define __METAL_SPINLOCK__H__
15 #include <metal/atomic.h>
16 #include <metal/cpu.h>
29 #define METAL_SPINLOCK_INIT {ATOMIC_VAR_INIT(0)}
#define atomic_flag_test_and_set(FLAG)
Definition: atomic.h:43
static void metal_spinlock_release(struct metal_spinlock *slock)
Release a previously acquired spinlock.
Definition: spinlock.h:57
#define atomic_store(OBJ, VAL)
Definition: atomic.h:55
#define atomic_flag_clear(FLAG)
Definition: atomic.h:47
static void metal_spinlock_init(struct metal_spinlock *slock)
Initialize a libmetal spinlock.
Definition: spinlock.h:35
static void metal_spinlock_acquire(struct metal_spinlock *slock)
Acquire a spinlock.
Definition: spinlock.h:45
int atomic_int
Definition: atomic.h:24
#define metal_cpu_yield()
Definition: cpu.h:15