Lines Matching refs:cond
43 pthread_cond_t cond;
48 u_cnd_monotonic_init(struct u_cnd_monotonic *cond)
50 assert(cond != NULL);
53 InitializeConditionVariable(&cond->condvar);
60 (pthread_cond_init(&cond->cond, &condattr) == 0)) {
72 u_cnd_monotonic_destroy(struct u_cnd_monotonic *cond)
74 assert(cond != NULL);
79 pthread_cond_destroy(&cond->cond);
84 u_cnd_monotonic_broadcast(struct u_cnd_monotonic *cond)
86 assert(cond != NULL);
89 WakeAllConditionVariable(&cond->condvar);
92 return (pthread_cond_broadcast(&cond->cond) == 0) ? thrd_success : thrd_error;
97 u_cnd_monotonic_signal(struct u_cnd_monotonic *cond)
99 assert(cond != NULL);
102 WakeConditionVariable(&cond->condvar);
105 return (pthread_cond_signal(&cond->cond) == 0) ? thrd_success : thrd_error;
110 u_cnd_monotonic_timedwait(struct u_cnd_monotonic *cond, mtx_t *mtx, const struct timespec *abs_time)
112 assert(cond != NULL);
120 if (SleepConditionVariableCS(&cond->condvar, mtx, timeout))
124 int rt = pthread_cond_timedwait(&cond->cond, mtx, abs_time);
132 u_cnd_monotonic_wait(struct u_cnd_monotonic *cond, mtx_t *mtx)
134 assert(cond != NULL);
138 SleepConditionVariableCS(&cond->condvar, mtx, INFINITE);
141 return (pthread_cond_wait(&cond->cond, mtx) == 0) ? thrd_success : thrd_error;