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)¶ Применение защелки. Бесконечно ожидает момента, когда текущий файбер может получить доступ к защелке.
param box_latch_t* latch: применяемая защелка
-
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*) – отменяемая защелка