Lines Matching refs:cond

61 void DRD_(cond_initialize)(struct cond_info* const p, const Addr cond)
63 tl_assert(cond != 0);
64 tl_assert(p->a1 == cond);
118 static struct cond_info* cond_get_or_allocate(const Addr cond)
122 tl_assert(offsetof(DrdClientobj, cond) == 0);
123 p = &(DRD_(clientobj_get)(cond, ClientCondvar)->cond);
127 if (DRD_(clientobj_present)(cond, cond + 1))
129 wrong_type(cond);
133 p = &(DRD_(clientobj_add)(cond, ClientCondvar)->cond);
134 DRD_(cond_initialize)(p, cond);
138 struct cond_info* DRD_(cond_get)(const Addr cond)
140 tl_assert(offsetof(DrdClientobj, cond) == 0);
141 return &(DRD_(clientobj_get)(cond, ClientCondvar)->cond);
145 void DRD_(cond_pre_init)(const Addr cond)
150 DRD_(trace_msg)("[%d] cond_init cond 0x%lx",
151 DRD_(thread_get_running_tid)(), cond);
153 p = DRD_(cond_get)(cond);
157 CondErrInfo cei = { .tid = DRD_(thread_get_running_tid)(), .cond = cond };
165 p = cond_get_or_allocate(cond);
169 void DRD_(cond_post_destroy)(const Addr cond)
174 DRD_(trace_msg)("[%d] cond_destroy cond 0x%lx",
175 DRD_(thread_get_running_tid)(), cond);
177 p = DRD_(cond_get)(cond);
180 CondErrInfo cei = { .tid = DRD_(thread_get_running_tid)(), .cond = cond };
191 CondErrInfo cei = { .tid = DRD_(thread_get_running_tid)(), .cond = cond };
207 void DRD_(cond_pre_wait)(const Addr cond, const Addr mutex)
213 DRD_(trace_msg)("[%d] cond_pre_wait cond 0x%lx",
214 DRD_(thread_get_running_tid)(), cond);
216 p = cond_get_or_allocate(cond);
219 CondErrInfo cei = { .tid = DRD_(thread_get_running_tid)(), .cond = cond };
236 .cond = cond, .mutex1 = p->mutex, .mutex2 = mutex };
269 void DRD_(cond_post_wait)(const Addr cond)
274 DRD_(trace_msg)("[%d] cond_post_wait cond 0x%lx",
275 DRD_(thread_get_running_tid)(), cond);
277 p = DRD_(cond_get)(cond);
281 DRD_(thread_get_running_tid)(), cond, 0, DRD_INVALID_THREADID
319 .cond = cond_p->a1,
338 static void not_initialized(Addr const cond)
340 CondErrInfo cei = { .tid = DRD_(thread_get_running_tid)(), .cond = cond };
349 void DRD_(cond_pre_signal)(Addr const cond)
353 p = DRD_(cond_get)(cond);
355 DRD_(trace_msg)("[%d] cond_signal cond 0x%lx",
356 DRD_(thread_get_running_tid)(), cond);
359 if (!p && VG_(memcmp)((void*)cond, (void*)DRD_(pthread_cond_initializer),
362 not_initialized(cond);
367 p = cond_get_or_allocate(cond);
373 void DRD_(cond_pre_broadcast)(Addr const cond)
378 DRD_(trace_msg)("[%d] cond_broadcast cond 0x%lx",
379 DRD_(thread_get_running_tid)(), cond);
381 p = DRD_(cond_get)(cond);
383 if (!p && VG_(memcmp)((void*)cond, (void*)DRD_(pthread_cond_initializer),
386 not_initialized(cond);
391 p = cond_get_or_allocate(cond);