|
#define | PARAM_ASSERTIONS_ENABLED_LOCK_CORE 0 |
|
#define | lock_owner_id_t int8_t |
| type to use to store the 'owner' of a lock.By default this is int8_t as it only needs to store the core number or -1, however it may be overridden if a larger type is required (e.g. for an RTOS task id)
|
|
#define | LOCK_INVALID_OWNER_ID ((lock_owner_id_t)-1) |
| marker value to use for a lock_owner_id_t which does not refer to any valid owner
|
|
#define | lock_get_caller_owner_id() ((lock_owner_id_t)get_core_num()) |
| return the owner id for the callerBy default this returns the calling core number, but may be overridden (e.g. to return an RTOS task id)
|
|
#define | lock_is_owner_id_valid(id) ((id)>=0) |
|
#define | lock_internal_spin_unlock_with_wait(lock, save) spin_unlock((lock)->spin_lock, save), __wfe() |
| Atomically unlock the lock's spin lock, and wait for a notification. More...
|
|
#define | lock_internal_spin_unlock_with_notify(lock, save) spin_unlock((lock)->spin_lock, save), __sev() |
| Atomically unlock the lock's spin lock, and send a notification. More...
|
|
#define | lock_internal_spin_unlock_with_best_effort_wait_or_timeout(lock, save, until) |
| Atomically unlock the lock's spin lock, and wait for a notification or a timeout. More...
|
|
#define | sync_internal_yield_until_before(until) ((void)0) |
| yield to other processing until some time before the requested time More...
|
|
Base implementation for locking primitives protected by a spin lock. The spin lock is only used to protect access to the remaining lock state (in primitives using lock_core); it is never left locked outside of the function implementations