# nng_mtx_lock(3supp) Manual Page

## NAME

nng_mtx_lock - lock mutex

## SYNOPSIS

    #include <nng/nng.h>

    void nng_mtx_lock(nng_mtx *mtx);

## DESCRIPTION

The `nng_mtx_lock()` acquires exclusive ownership of the mutex mtx. If the lock is already owned, this function will wait until the current owner releases it with `nng_mtx_unlock()`.

If multiple threads are waiting for the lock, the order of acquisition is not specified.

| A mutex can only be unlocked by the thread that locked it.

| Mutex locks are not recursive; attempts to reacquire the same mutex may result in deadlock or aborting the current program. It is a programming error for the owner of a mutex to attempt to reacquire it.

## RETURN VALUES

None.

## ERRORS

None.

## SEE ALSO

nng_cv_alloc(3supp), nng_mtx_alloc(3supp), nng_mtx_unlock(3supp), nng(7)