Function to allocate and initialize a new condition variable. Returns the condition variable on success, and NULL on failure. The 'condtype' argument will be 0 with this API version.
The current version of the conditions API. Set this to * EVTHREAD_CONDITION_API_VERSION
Function to free a condition variable.
Function to signal a condition variable. If 'broadcast' is 1, all threads waiting on 'cond' should be woken; otherwise, only on one thread is worken. Should return 0 on success, -1 on failure. This function will only be called while holding the associated lock for the condition.
Function to wait for a condition variable. The lock 'lock' * will be held when this function is called; should be released * while waiting for the condition to be come signalled, and * should be held again when this function returns. * If timeout is provided, it is interval of seconds to wait for * the event to become signalled; if it is NULL, the function * should wait indefinitely. * * The function should return -1 on error; 0 if the condition * was signalled, or 1 on a timeout.
This structure describes the interface a threading library uses for condition variables. It's used to tell evthread_set_condition_callbacks how to use locking on this platform.