Модуль latch
- 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*) – отменяемая защелка