Module latch
-
type
box_latch_t
¶ Блокировка среды кооперативной многозадачности
-
box_latch_t *
box_latch_new
(void)¶ Выделение и инициализация новой защелки.
Результат: выделенная защелка Тип результата: box_latch_t *
-
void
box_latch_delete
(box_latch_t *latch)¶ Удаление и освобождение защелки.
Параметры: - latch (box_latch_t*) – удаляемая защелка
-
void
box_latch_lock
(box_latch_t *latch)¶ Lock a latch. Waits indefinitely until the current fiber can gain access to the latch. Since version 2.11.0, locks are acquired exactly in the order in which they were requested.
Параметры: - latch (box_latch_t*) – применяемая защелка
-
int
box_latch_trylock
(box_latch_t *latch)¶ Попытка применить защелку. Возвращается незамедлительно, если защелка поставлена.
Параметры: - latch (box_latch_t*) – применяемая защелка
Результат: статус операции. 0 – успешно, 1 – защелка поставлена
Тип результата: целое число
-
void
box_latch_unlock
(box_latch_t *latch)¶ Отмена защелки. Файбер, который вызывает данную функцию, должен иметь права на защелку.
Параметры: - latch (box_latch_t*) – отменяемая защелка