Lines Matching full:wc
45 void worker_config_init(worker_config* wc, in worker_config_init() argument
50 memset(wc, 0, sizeof(*wc)); in worker_config_init()
53 wc->signal_cond = signal_f; in worker_config_init()
54 wc->wait_cond = wait_f; in worker_config_init()
55 wc->use_broadcast = use_broadcast; in worker_config_init()
58 ASSERT_OK(uv_sem_init(&wc->sem_waiting, 0)); in worker_config_init()
59 ASSERT_OK(uv_sem_init(&wc->sem_signaled, 0)); in worker_config_init()
60 ASSERT_OK(uv_cond_init(&wc->cond)); in worker_config_init()
61 ASSERT_OK(uv_mutex_init(&wc->mutex)); in worker_config_init()
64 void worker_config_destroy(worker_config* wc) { in worker_config_destroy() argument
65 uv_mutex_destroy(&wc->mutex); in worker_config_destroy()
66 uv_cond_destroy(&wc->cond); in worker_config_destroy()
67 uv_sem_destroy(&wc->sem_signaled); in worker_config_destroy()
68 uv_sem_destroy(&wc->sem_waiting); in worker_config_destroy()
128 worker_config wc; in TEST_IMPL() local
132 worker_config_init(&wc, 0, condvar_signal, condvar_wait); in TEST_IMPL()
133 ASSERT_OK(uv_thread_create(&thread, worker, &wc)); in TEST_IMPL()
136 ASSERT_OK(wc.wait_cond(&wc, &wc.posted_1)); in TEST_IMPL()
137 wc.signal_cond(&wc, &wc.posted_2); in TEST_IMPL()
140 worker_config_destroy(&wc); in TEST_IMPL()
147 worker_config wc; in TEST_IMPL() local
151 worker_config_init(&wc, 1, condvar_signal, condvar_wait); in TEST_IMPL()
152 ASSERT_OK(uv_thread_create(&thread, worker, &wc)); in TEST_IMPL()
155 ASSERT_OK(wc.wait_cond(&wc, &wc.posted_1)); in TEST_IMPL()
156 wc.signal_cond(&wc, &wc.posted_2); in TEST_IMPL()
159 worker_config_destroy(&wc); in TEST_IMPL()
192 worker_config wc; in TEST_IMPL() local
196 worker_config_init(&wc, 0, condvar_signal, condvar_timedwait); in TEST_IMPL()
197 ASSERT_OK(uv_thread_create(&thread, worker, &wc)); in TEST_IMPL()
200 wc.wait_cond(&wc, &wc.posted_1); in TEST_IMPL()
201 wc.signal_cond(&wc, &wc.posted_2); in TEST_IMPL()
204 worker_config_destroy(&wc); in TEST_IMPL()
211 worker_config wc; in TEST_IMPL() local
215 worker_config_init(&wc, 1, condvar_signal, condvar_timedwait); in TEST_IMPL()
216 ASSERT_OK(uv_thread_create(&thread, worker, &wc)); in TEST_IMPL()
219 wc.wait_cond(&wc, &wc.posted_1); in TEST_IMPL()
220 wc.signal_cond(&wc, &wc.posted_2); in TEST_IMPL()
223 worker_config_destroy(&wc); in TEST_IMPL()
230 worker_config wc; in TEST_IMPL() local
236 worker_config_init(&wc, 0, NULL, NULL); in TEST_IMPL()
238 uv_mutex_lock(&wc.mutex); in TEST_IMPL()
241 ASSERT_EQ(UV_ETIMEDOUT, uv_cond_timedwait(&wc.cond, &wc.mutex, timeout)); in TEST_IMPL()
243 uv_mutex_unlock(&wc.mutex); in TEST_IMPL()
245 worker_config_destroy(&wc); in TEST_IMPL()