@web-font-path: "roboto-debian.css";


Go to the source code of this file.
Data Structures | |
| struct | lock_core |
Macros | |
| #define | PARAM_ASSERTIONS_ENABLED_LOCK_CORE 0 |
| #define | lock_owner_id_t int8_t |
| type to use to store the 'owner' of a lock. | |
| #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() |
| return the owner id for the caller | |
| #define | lock_is_owner_id_valid(id) |
| #define | lock_internal_spin_unlock_with_wait(lock, save) |
| Atomically unlock the lock's spin lock, and wait for a notification. | |
| #define | lock_internal_spin_unlock_with_notify(lock, save) |
| Atomically unlock the lock's spin lock, and send a notification. | |
| #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. | |
| #define | sync_internal_yield_until_before(until) |
| yield to other processing until some time before the requested time | |
Typedefs | |
| typedef struct lock_core | lock_core_t |
Functions | |
| void | lock_init (lock_core_t *core, uint lock_num) |
| Initialise a lock structure. | |
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
| #define lock_is_owner_id_valid | ( | id | ) |