Lines Matching refs:lock
41 static void IRAM_ATTR lock_init_generic(_lock_t *lock, uint8_t mutex_type) { in lock_init_generic() argument
43 if (*lock) { in lock_init_generic()
68 *lock = (_lock_t)new_sem; in lock_init_generic()
73 void IRAM_ATTR _lock_init(_lock_t *lock) { in _lock_init() argument
74 *lock = 0; // In case lock's memory is uninitialized in _lock_init()
75 lock_init_generic(lock, queueQUEUE_TYPE_MUTEX); in _lock_init()
78 void IRAM_ATTR _lock_init_recursive(_lock_t *lock) { in _lock_init_recursive() argument
79 *lock = 0; // In case lock's memory is uninitialized in _lock_init_recursive()
80 lock_init_generic(lock, queueQUEUE_TYPE_RECURSIVE_MUTEX); in _lock_init_recursive()
93 void IRAM_ATTR _lock_close(_lock_t *lock) { in _lock_close() argument
95 if (*lock) { in _lock_close()
96 SemaphoreHandle_t h = (SemaphoreHandle_t)(*lock); in _lock_close()
101 *lock = 0; in _lock_close()
106 void _lock_close_recursive(_lock_t *lock) __attribute__((alias("_lock_close")));
111 static int IRAM_ATTR lock_acquire_generic(_lock_t *lock, uint32_t delay, uint8_t mutex_type) { in lock_acquire_generic() argument
112 SemaphoreHandle_t h = (SemaphoreHandle_t)(*lock); in lock_acquire_generic()
118 lock_init_generic(lock, mutex_type); in lock_acquire_generic()
119 h = (SemaphoreHandle_t)(*lock); in lock_acquire_generic()
153 void IRAM_ATTR _lock_acquire(_lock_t *lock) { in _lock_acquire() argument
154 lock_acquire_generic(lock, portMAX_DELAY, queueQUEUE_TYPE_MUTEX); in _lock_acquire()
157 void IRAM_ATTR _lock_acquire_recursive(_lock_t *lock) { in _lock_acquire_recursive() argument
158 lock_acquire_generic(lock, portMAX_DELAY, queueQUEUE_TYPE_RECURSIVE_MUTEX); in _lock_acquire_recursive()
161 int IRAM_ATTR _lock_try_acquire(_lock_t *lock) { in _lock_try_acquire() argument
162 return lock_acquire_generic(lock, 0, queueQUEUE_TYPE_MUTEX); in _lock_try_acquire()
165 int IRAM_ATTR _lock_try_acquire_recursive(_lock_t *lock) { in _lock_try_acquire_recursive() argument
166 return lock_acquire_generic(lock, 0, queueQUEUE_TYPE_RECURSIVE_MUTEX); in _lock_try_acquire_recursive()
172 static void IRAM_ATTR lock_release_generic(_lock_t *lock, uint8_t mutex_type) { in lock_release_generic() argument
176 SemaphoreHandle_t h = (SemaphoreHandle_t)(*lock); in lock_release_generic()
197 void IRAM_ATTR _lock_release(_lock_t *lock) { in _lock_release() argument
198 lock_release_generic(lock, queueQUEUE_TYPE_MUTEX); in _lock_release()
201 void IRAM_ATTR _lock_release_recursive(_lock_t *lock) { in _lock_release_recursive() argument
202 lock_release_generic(lock, queueQUEUE_TYPE_RECURSIVE_MUTEX); in _lock_release_recursive()
275 void IRAM_ATTR __retarget_lock_init(_LOCK_T *lock) in __retarget_lock_init() argument
277 *lock = NULL; /* In case lock's memory is uninitialized */ in __retarget_lock_init()
278 lock_init_generic(lock, queueQUEUE_TYPE_MUTEX); in __retarget_lock_init()
281 void IRAM_ATTR __retarget_lock_init_recursive(_LOCK_T *lock) in __retarget_lock_init_recursive() argument
283 *lock = NULL; /* In case lock's memory is uninitialized */ in __retarget_lock_init_recursive()
284 lock_init_generic(lock, queueQUEUE_TYPE_RECURSIVE_MUTEX); in __retarget_lock_init_recursive()
287 void IRAM_ATTR __retarget_lock_close(_LOCK_T lock) in __retarget_lock_close() argument
289 _lock_close(&lock); in __retarget_lock_close()
292 void IRAM_ATTR __retarget_lock_close_recursive(_LOCK_T lock) in __retarget_lock_close_recursive() argument
294 _lock_close_recursive(&lock); in __retarget_lock_close_recursive()
298 static void IRAM_ATTR check_lock_nonzero(_LOCK_T lock) in check_lock_nonzero() argument
300 assert(lock != NULL && "Uninitialized lock used"); in check_lock_nonzero()
303 void IRAM_ATTR __retarget_lock_acquire(_LOCK_T lock) in __retarget_lock_acquire() argument
305 check_lock_nonzero(lock); in __retarget_lock_acquire()
306 MAYBE_OVERRIDE_LOCK(lock, &s_common_mutex); in __retarget_lock_acquire()
307 _lock_acquire(&lock); in __retarget_lock_acquire()
310 void IRAM_ATTR __retarget_lock_acquire_recursive(_LOCK_T lock) in __retarget_lock_acquire_recursive() argument
312 check_lock_nonzero(lock); in __retarget_lock_acquire_recursive()
313 MAYBE_OVERRIDE_LOCK(lock, &s_common_recursive_mutex); in __retarget_lock_acquire_recursive()
314 _lock_acquire_recursive(&lock); in __retarget_lock_acquire_recursive()
317 int IRAM_ATTR __retarget_lock_try_acquire(_LOCK_T lock) in __retarget_lock_try_acquire() argument
319 check_lock_nonzero(lock); in __retarget_lock_try_acquire()
320 MAYBE_OVERRIDE_LOCK(lock, &s_common_mutex); in __retarget_lock_try_acquire()
321 return _lock_try_acquire(&lock); in __retarget_lock_try_acquire()
324 int IRAM_ATTR __retarget_lock_try_acquire_recursive(_LOCK_T lock) in __retarget_lock_try_acquire_recursive() argument
326 check_lock_nonzero(lock); in __retarget_lock_try_acquire_recursive()
327 MAYBE_OVERRIDE_LOCK(lock, &s_common_recursive_mutex); in __retarget_lock_try_acquire_recursive()
328 return _lock_try_acquire_recursive(&lock); in __retarget_lock_try_acquire_recursive()
331 void IRAM_ATTR __retarget_lock_release(_LOCK_T lock) in __retarget_lock_release() argument
333 check_lock_nonzero(lock); in __retarget_lock_release()
334 _lock_release(&lock); in __retarget_lock_release()
337 void IRAM_ATTR __retarget_lock_release_recursive(_LOCK_T lock) in __retarget_lock_release_recursive() argument
339 check_lock_nonzero(lock); in __retarget_lock_release_recursive()
340 _lock_release_recursive(&lock); in __retarget_lock_release_recursive()