Module latch | Tarantool
Документация на русском языке
поддерживается сообществом

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*) – отменяемая защелка
Нашли ответ на свой вопрос?
Обратная связь