36 #ifndef __METAL_MUTEX__H__ 37 #error "Include metal/mutex.h instead of metal/freertos/mutex.h" 40 #ifndef __METAL_FREERTOS_MUTEX__H__ 41 #define __METAL_FREERTOS_MUTEX__H__ 56 #define METAL_MUTEX_INIT { NULL } 61 mutex->
m = xSemaphoreCreateMutex();
62 assert(mutex->
m != NULL);
67 assert(mutex && mutex->
m != NULL);
68 vSemaphoreDelete(mutex->
m);
74 assert(mutex && mutex->
m != NULL);
75 return xSemaphoreTake(mutex->
m, ( TickType_t ) 0 );
80 assert(mutex && mutex->
m != NULL);
81 xSemaphoreTake(mutex->
m, portMAX_DELAY);
86 assert(mutex && mutex->
m != NULL);
87 xSemaphoreGive(mutex->
m);
92 assert(mutex && mutex->
m != NULL);
93 return (NULL == xSemaphoreGetMutexHolder(mutex->
m)) ? 0 : 1;
static int metal_mutex_is_acquired(metal_mutex_t *mutex)
Definition: mutex.h:90
static void metal_mutex_acquire(metal_mutex_t *mutex)
Definition: mutex.h:78
static int metal_mutex_try_acquire(metal_mutex_t *mutex)
Definition: mutex.h:72
static void metal_mutex_release(metal_mutex_t *mutex)
Definition: mutex.h:84
static void metal_mutex_init(metal_mutex_t *mutex)
Definition: mutex.h:58
static void metal_mutex_deinit(metal_mutex_t *mutex)
Definition: mutex.h:65