## nng_cv_wake Wake all waiters. ### Synopsis ```c #include #include 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 xref:nng_cv_wait.adoc[`nng_cv_wait`] or xref:nng_cv_until.adoc[`nng_cv_until`] functions. The caller must have have ownership of the mutex that was used when _cv_ was allocated. NOTE: The caller should already have set the condition that the waiters will check, while holding the mutex. TIP: 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 xref:nng_cv_wake1.adoc[`nng_cv_wake1`] for a solution to this problem. ### Return Values None. ### Errors None. ### See Also xref:nng_cv_alloc.adoc[nng_cv_alloc], xref:nng_cv_until.adoc[nng_cv_until], xref:nng_cv_wait.adoc[nng_cv_wait], xref:nng_cv_wake1.adoc[nng_cv_wake1], xref:nng_mtx_alloc.adoc[nng_mtx_alloc], xref:nng_mtx_lock.adoc[nng_mtx_lock], xref:nng_mtx_unlock.adoc[nng_mtx_unlock], xref:nng.adoc[nng]