Tarantool CE/EE Documentation portal logo
Support
Updated at August 24, 2026   05:21 PM

Module latch

type 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:

  • latch (box_latch_t*) — latch to destroy

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.

Parameters:

  • latch (box_latch_t*) — latch to lock

int box_latch_trylock(box_latch_t *latch)

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

Parameters:

  • latch (box_latch_t*) — latch to lock

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:

  • latch (box_latch_t*) — latch to unlock