Rtos API example

Embed: (wiki syntax)

« Back to documentation index

Mutexes

Mutexes are recommended to correctly handle priority inversion, especially if you use LWIP_CORE_LOCKING . More...

Functions

err_t sys_mutex_new (sys_mutex_t *mutex)
 Create a new mutex.
void sys_mutex_lock (sys_mutex_t *mutex)
 Lock a mutex.
void sys_mutex_unlock (sys_mutex_t *mutex)
 Unlock a mutex.
void sys_mutex_free (sys_mutex_t *mutex)
 Delete a semaphore.
int sys_mutex_valid (sys_mutex_t *mutex)
 Check if a mutex is valid/allocated: return 1 for valid, 0 for invalid.
void sys_mutex_set_invalid (sys_mutex_t *mutex)
 Set a mutex invalid so that sys_mutex_valid returns 0.

Detailed Description

Mutexes are recommended to correctly handle priority inversion, especially if you use LWIP_CORE_LOCKING .


Function Documentation

void sys_mutex_free ( sys_mutex_t *  mutex )

Delete a semaphore.

Parameters:
mutexthe mutex to delete

Delete a semaphore.

Parameters:
mutexthe mutex to delete

Definition at line 404 of file lwip_sys_arch.c.

void sys_mutex_lock ( sys_mutex_t *  mutex )

Lock a mutex.

Parameters:
mutexthe mutex to lock

Definition at line 390 of file lwip_sys_arch.c.

err_t sys_mutex_new ( sys_mutex_t *  mutex )

Create a new mutex.

Note that mutexes are expected to not be taken recursively by the lwIP code, so both implementation types (recursive or non-recursive) should work.

Parameters:
mutexpointer to the mutex to create
Returns:
ERR_OK if successful, another err_t otherwise
Parameters:
mutexpointer to the mutex to create
Returns:
a new mutex

Definition at line 376 of file lwip_sys_arch.c.

void sys_mutex_set_invalid ( sys_mutex_t *  mutex )

Set a mutex invalid so that sys_mutex_valid returns 0.

void sys_mutex_unlock ( sys_mutex_t *  mutex )

Unlock a mutex.

Parameters:
mutexthe mutex to unlock

Definition at line 397 of file lwip_sys_arch.c.

int sys_mutex_valid ( sys_mutex_t *  mutex )

Check if a mutex is valid/allocated: return 1 for valid, 0 for invalid.