include: document barrier functions
Add some basic doc comments to the uv_barrier_*() functions and document the "serializer" return value from the previous commit. Signed-off-by: Fedor Indutny <fedor@indutny.com>
This commit is contained in:
parent
91985d48f6
commit
b64c359557
17
include/uv.h
17
include/uv.h
@ -2199,6 +2199,19 @@ UV_EXTERN int uv_cond_init(uv_cond_t* cond);
|
||||
UV_EXTERN void uv_cond_destroy(uv_cond_t* cond);
|
||||
UV_EXTERN void uv_cond_signal(uv_cond_t* cond);
|
||||
UV_EXTERN void uv_cond_broadcast(uv_cond_t* cond);
|
||||
|
||||
/*
|
||||
* Same goes for the barrier functions. Note that uv_barrier_wait() returns
|
||||
* a value > 0 to an arbitrarily chosen "serializer" thread to facilitate
|
||||
* cleanup, i.e.:
|
||||
*
|
||||
* if (uv_barrier_wait(&barrier) > 0)
|
||||
* uv_barrier_destroy(&barrier);
|
||||
*/
|
||||
UV_EXTERN int uv_barrier_init(uv_barrier_t* barrier, unsigned int count);
|
||||
UV_EXTERN void uv_barrier_destroy(uv_barrier_t* barrier);
|
||||
UV_EXTERN int uv_barrier_wait(uv_barrier_t* barrier);
|
||||
|
||||
/* Waits on a condition variable without a timeout.
|
||||
*
|
||||
* Note:
|
||||
@ -2217,10 +2230,6 @@ UV_EXTERN void uv_cond_wait(uv_cond_t* cond, uv_mutex_t* mutex);
|
||||
UV_EXTERN int uv_cond_timedwait(uv_cond_t* cond, uv_mutex_t* mutex,
|
||||
uint64_t timeout);
|
||||
|
||||
UV_EXTERN int uv_barrier_init(uv_barrier_t* barrier, unsigned int count);
|
||||
UV_EXTERN void uv_barrier_destroy(uv_barrier_t* barrier);
|
||||
UV_EXTERN int uv_barrier_wait(uv_barrier_t* barrier);
|
||||
|
||||
/* Runs a function once and only once. Concurrent calls to uv_once() with the
|
||||
* same guard will block all callers except one (it's unspecified which one).
|
||||
* The guard should be initialized statically with the UV_ONCE_INIT macro.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user