Обновлена 15 сентября 2026 г. в 08:55
Модуль latch
Лок для среды кооперативной многозадачности
Выделить память и инициализировать новый лок.
Возвращает
выделенный объект лока
Тип возвращаемого значения
box_latch_t *
Уничтожить лок и освободить занимаемую им память.
Параметры:
latch(box_latch_t*) — лок, который требуется уничтожить
Захватить лок. Ожидание длится неограниченно долго, пока текущий файбер не получит доступ к локу. Начиная с версии 2.11.0, локи захватываются строго в том порядке, в котором были запрошены.
Параметры:
latch(box_latch_t*) — лок, который требуется захватить
Попытаться захватить лок. Управление возвращается сразу же, если лок уже захвачен.
Параметры:
latch(box_latch_t*) — лок, который требуется захватить
Возвращает
статус операции. 0 — успех, 1 — лок захвачен
Тип возвращаемого значения
int
Освободить лок. Файбер, вызывающий эту функцию, должен владеть локом.
Параметры:
latch(box_latch_t*) — лок, который требуется освободить