Lines Matching defs:control
31 bool pa_once_begin(pa_once *control) {
34 pa_assert(control);
36 if (pa_atomic_load(&control->done))
43 m = pa_static_mutex_get(&control->mutex, false, false);
46 if (pa_atomic_load(&control->done)) {
54 void pa_once_end(pa_once *control) {
57 pa_assert(control);
59 pa_assert(!pa_atomic_load(&control->done));
60 pa_atomic_store(&control->done, 1);
62 m = pa_static_mutex_get(&control->mutex, false, false);
67 void pa_run_once(pa_once *control, pa_once_func_t func) {
68 pa_assert(control);
71 if (pa_once_begin(control)) {
73 pa_once_end(control);