61 lines
1.7 KiB
Text
61 lines
1.7 KiB
Text
= nng_cv_wake(3supp)
|
|
//
|
|
// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
|
|
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
|
|
//
|
|
// 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 <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 xref:nng_cv_wait.3supp.adoc[`nng_cv_wait()`] or
|
|
xref:nng_cv_until.3supp.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.3supp.adoc[`nng_cv_wake1()`] for a solution to this problem.
|
|
|
|
== RETURN VALUES
|
|
|
|
None.
|
|
|
|
== ERRORS
|
|
|
|
None.
|
|
|
|
== SEE ALSO
|
|
|
|
[.text-left]
|
|
xref:nng_cv_alloc.3supp.adoc[nng_cv_alloc(3supp)],
|
|
xref:nng_cv_until.3supp.adoc[nng_cv_until(3supp)],
|
|
xref:nng_cv_wait.3supp.adoc[nng_cv_wait(3supp)],
|
|
xref:nng_cv_wake1.3supp.adoc[nng_cv_wake1(3supp)],
|
|
xref:nng_mtx_alloc.3supp.adoc[nng_mtx_alloc(3supp)],
|
|
xref:nng_mtx_lock.3supp.adoc[nng_mtx_lock(3supp)],
|
|
xref:nng_mtx_unlock.3supp.adoc[nng_mtx_unlock(3supp)],
|
|
xref:nng.7.adoc[nng(7)]
|