Рейтинг@Mail.ru

1.7. Модуль latch

Замечание

Документация находится в процессе перевода и может отставать от английской версии.

Модуль latch

box_latch_t

A lock for cooperative multitasking environment

box_latch_t *box_latch_new(void)

Allocate and initialize the new latch.

Результат:allocated latch object
Тип результата:box_latch_t *
void box_latch_delete(box_latch_t *latch)

Destroy and free the latch.

Параметры:
void box_latch_lock(box_latch_t *latch)

Lock a latch. Waits indefinitely until the current fiber can gain access to the latch.

param box_latch_t* latch:
 latch to lock
int box_latch_trylock(box_latch_t *latch)

Try to lock a latch. Return immediately if the latch is locked.

Параметры:
Результат:

status of operation. 0 - success, 1 - latch is locked

Тип результата:

int

void box_latch_unlock(box_latch_t *latch)

Unlock a latch. The fiber calling this function must own the latch.

Параметры: