Lines Matching full:control
3 static void undo(void *control) in undo() argument
6 * resetting control to the initial state. */ in undo()
7 if (a_swap(control, 0) == 3) in undo()
8 __wake(control, -1, 1); in undo()
11 hidden int __pthread_once_full(pthread_once_t *control, void (*init)(void)) in __pthread_once_full() argument
19 for (;;) switch (a_cas(control, 0, 1)) { in __pthread_once_full()
21 pthread_cleanup_push(undo, control); in __pthread_once_full()
25 if (a_swap(control, 2) == 3) in __pthread_once_full()
26 __wake(control, -1, 1); in __pthread_once_full()
30 a_cas(control, 1, 3); in __pthread_once_full()
32 __wait(control, 0, 3, 1); in __pthread_once_full()
39 int __pthread_once(pthread_once_t *control, void (*init)(void)) in __pthread_once() argument
43 if (*(volatile int *)control == 2) { in __pthread_once()
47 return __pthread_once_full(control, init); in __pthread_once()