<assertions> | |
<assertion id="1" tag="ref:XSH6:32357:32360"> | |
The function | |
int pthread_cond_init(pthread_cond_t *restrict cond, | |
const pthread_condattr_t *restrict attr); | |
shall initialize the condition variable referenced by cond with | |
attributes referenced by attr.If attr is NULL, the default condition variable attributes shall be | |
used; the effect is the same as passing the address of a default condition variable attributes | |
object. Upon successful initialization, the state of the condition variable shall become initialized. | |
</assertion> | |
<assertion id="2" tag="ref:XSH6:32365:32368"> | |
In cases where default condition variable attributes are appropriate, the macro | |
PTHREAD_COND_INITIALIZER can be used to initialize condition variables that are statically | |
allocated. The effect shall be equivalent to dynamic initialization by a call to pthread_cond_init() | |
with parameter attr specified as NULL, except that no error checks are performed. | |
</assertion> | |
<assertion id="3" tag="ref:XSH6:32370:32370"> | |
If successful, the pthread_cond_init() function shall return zero; | |
</assertion> | |
<assertion id="4" tag="ref:XSH6:32381:32390"> | |
The pthread_cond_init() function shall fail if: | |
[EAGAIN] The system lacked the necessary resources (other than memory) to initialize | |
another condition variable. | |
[ENOMEM] Insufficient memory exists to initialize the condition variable. | |
The pthread_cond_init() function may fail if: | |
[EBUSY] The implementation has detected an attempt to reinitialize the object | |
referenced by cond, a previously initialized, but not yet destroyed, condition | |
variable. | |
[EINVAL] The value specified by attr is invalid. | |
The function shall not return an error code of [EINTR]. | |
</assertion> | |
</assertions> |