Xenomai
3.1
|
Macros | |
#define | RTDM_LOCK_UNLOCKED(__name) IPIPE_SPIN_LOCK_UNLOCKED |
Static lock initialisation. | |
#define | rtdm_lock_get_irqsave(__lock, __context) ((__context) = __rtdm_lock_get_irqsave(__lock)) |
Acquire lock and disable preemption, by stalling the head domain. More... | |
#define | rtdm_lock_irqsave(__context) splhigh(__context) |
Disable preemption locally More... | |
#define | rtdm_lock_irqrestore(__context) splexit(__context) |
Restore preemption state More... | |
Typedefs | |
typedef ipipe_spinlock_t | rtdm_lock_t |
Lock variable. | |
typedef unsigned long | rtdm_lockctx_t |
Variable to save the context while holding a lock. | |
Functions | |
static void | rtdm_lock_init (rtdm_lock_t *lock) |
Dynamic lock initialisation More... | |
static void | rtdm_lock_get (rtdm_lock_t *lock) |
Acquire lock from non-preemptible contexts More... | |
static void | rtdm_lock_put (rtdm_lock_t *lock) |
Release lock without preemption restoration More... | |
static void | rtdm_lock_put_irqrestore (rtdm_lock_t *lock, rtdm_lockctx_t context) |
Release lock and restore preemption state More... | |
#define rtdm_lock_get_irqsave | ( | __lock, | |
__context | |||
) | ((__context) = __rtdm_lock_get_irqsave(__lock)) |
Acquire lock and disable preemption, by stalling the head domain.
__lock | Address of lock variable |
__context | name of local variable to store the context in |
#define rtdm_lock_irqrestore | ( | __context | ) | splexit(__context) |
Restore preemption state
__context | name of local variable which stored the context |
#define rtdm_lock_irqsave | ( | __context | ) | splhigh(__context) |
Disable preemption locally
__context | name of local variable to store the context in |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
Release lock without preemption restoration
lock | Address of lock variable |
|
inlinestatic |
Release lock and restore preemption state
lock | Address of lock variable |
context | name of local variable which stored the context |