Lines Matching refs:barrier
20 * barrier val:
54 static void __child_sync(volatile int *barrier)
56 if (a_swap(barrier, CHILD_ARRIVE) == INIT_STATE) {
57 __wait(barrier, 0, CHILD_ARRIVE, 0);
59 __wake(barrier, 1, 0);
62 a_swap(barrier, CHILD_DONE);
63 __wake(barrier, 1, 0);
66 static void __parent_sync(volatile int *barrier)
68 if (a_swap(barrier, PARENT_ARRIVE) == CHILD_ARRIVE) {
69 __wake(barrier, 1, 0);
71 __wait(barrier, 0, PARENT_ARRIVE, 0);
74 if (a_swap(barrier, PARENT_WAIT) != CHILD_DONE) {
75 __wait(barrier, 0, PARENT_WAIT, 0);