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:
Ben Noordhuis 2014-06-02 18:25:43 +02:00 committed by Fedor Indutny
parent 91985d48f6
commit b64c359557

View File

@ -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.