# nng_cv_wake(3supp) Manual Page

## NAME

nng_cv_wake - wake all waiters

## SYNOPSIS

    #include <nng/nng.h>
    #include <nng/supplemental/util/platform.h>

    void nng_cv_wake(nng_cv *cv);

## DESCRIPTION

The `nng_cv_wake()` wakes any threads waiting for the condition variable cv to be signaled in the `nng_cv_wait()` or `nng_cv_until()` functions.

The caller must have have ownership of the mutex that was used when cv was allocated.

| The caller should already have set the condition that the waiters will check, while holding the mutex.

| This function wakes all threads, which is generally safer but can lead to a performance problem when there are many waiters, as they are all woken simultaneously and may contend for resources. See `nng_cv_wake1()` for a solution to this problem.

## RETURN VALUES

None.

## ERRORS

None.

## SEE ALSO

nng_cv_alloc(3supp), nng_cv_until(3supp), nng_cv_wait(3supp), nng_cv_wake1(3supp), nng_mtx_alloc(3supp), nng_mtx_lock(3supp), nng_mtx_unlock(3supp), nng(7)