Рейтинг@Mail.ru

1.7. Module latch

Module latch

box_latch_t

A lock for cooperative multitasking environment

box_latch_t *box_latch_new(void)

Allocate and initialize the new latch.

Returns:allocated latch object
Return type:box_latch_t *
void box_latch_delete(box_latch_t *latch)

Destroy and free the latch.

Parameters:
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.

Parameters:
Returns:

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

Return type:

int

void box_latch_unlock(box_latch_t *latch)

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

Parameters: