= nng_cv_wake(3supp) // // Copyright 2018 Staysail Systems, Inc. // Copyright 2018 Capitar IT Group BV // // This document is supplied under the terms of the MIT License, a // copy of which should be located in the distribution where this // file was obtained (LICENSE.txt). A copy of the license may also be // found online at https://opensource.org/licenses/MIT. // == NAME nng_cv_wake - wake all waiters == SYNOPSIS [source, 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 <> or <> 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 problem known as the "`thundering herd`" when there are many waiters, as they are all woken simultaneously. See <> for a solution to this problem. == RETURN VALUES None. == ERRORS None. == SEE ALSO <>, <>, <>, <>, <>, <>, <>, <>