67#define RMUTEX_INIT { MUTEX_INIT, 0, KERNEL_PID_UNDEF }
79 *rmutex = empty_rmutex;
int16_t kernel_pid_t
Unique process identifier.
void rmutex_lock(rmutex_t *rmutex)
Locks a recursive mutex, blocking.
#define RMUTEX_INIT
Static initializer for rmutex_t.
int rmutex_trylock(rmutex_t *rmutex)
Tries to get a recursive mutex, non-blocking.
static void rmutex_init(rmutex_t *rmutex)
Initializes a recursive mutex object.
void rmutex_unlock(rmutex_t *rmutex)
Unlocks the recursive mutex.
Mutex for thread synchronization.
Scheduler API definition.
uint16_t refcount
Number of locks owned by the thread owner.
kernel_pid_t owner
Owner thread of the mutex.
mutex_t mutex
The mutex used for locking.