Mutex

Mutex service provides mutual exclusion and task synchronization. It supports recursive locking and priority inheritance to prevent priority inversion.

Mutex Management

void mutex_init(mutex_t *mutex)

Create a mutex.

Parameters:

mutex – [in] pointer to the mutex object (MUST-BE not NULL)

Returns:

none

Mutex Operations

mutex_status_t mutex_lock(mutex_t *mutex)

Lock a mutex.

Parameters:

mutex – [in] pointer to the mutex object (MUST-BE not NULL)

Returns:

  • MUTEX_OK: mutex lock success

  • MUTEX_NG: mutex lock fail

mutex_status_t mutex_unlock(mutex_t *mutex)

Unlock a mutex.

Parameters:

mutex – [in] pointer to the mutex object (MUST-BE not NULL)

Returns:

  • MUTEX_OK: mutex unlock success

  • MUTEX_NG: mutex unlock fail