Lines Matching defs:cond
23 isc_condition_init(isc_condition_t *cond) {
26 REQUIRE(cond != NULL);
28 cond->waiters = 0;
37 cond->events[LSIGNAL] = h;
43 ISC_LIST_INIT(cond->threadlist);
90 find_thread_condition(unsigned long thrd, isc_condition_t *cond,
100 for (threadcond = ISC_LIST_HEAD(cond->threadlist);
113 return (register_thread(thrd, cond, threadcondp));
117 isc_condition_signal(isc_condition_t *cond) {
123 REQUIRE(cond != NULL);
125 if (!SetEvent(cond->events[LSIGNAL])) {
134 isc_condition_broadcast(isc_condition_t *cond) {
143 REQUIRE(cond != NULL);
148 for (threadcond = ISC_LIST_HEAD(cond->threadlist);
163 isc_condition_destroy(isc_condition_t *cond) {
167 REQUIRE(cond != NULL);
168 REQUIRE(cond->waiters == 0);
170 (void)CloseHandle(cond->events[LSIGNAL]);
175 threadcond = ISC_LIST_HEAD(cond->threadlist);
179 DEQUEUE(cond->threadlist, threadcond, link);
198 wait(isc_condition_t *cond, isc_mutex_t *mutex, DWORD milliseconds) {
206 tresult = find_thread_condition(isc_thread_self(), cond, &threadcond);
210 cond->waiters++;
215 cond->waiters--;
227 isc_condition_wait(isc_condition_t *cond, isc_mutex_t *mutex) {
228 return (wait(cond, mutex, INFINITE));
232 isc_condition_waituntil(isc_condition_t *cond, isc_mutex_t *mutex,
249 return (wait(cond, mutex, milliseconds));