Index: src/threading.m ================================================================== --- src/threading.m +++ src/threading.m @@ -31,11 +31,11 @@ of_once(of_once_t *control, void (*func)(void)) { if (of_atomic_int_cmpswap(control, 0, 1)) { func(); - of_memory_barrier(); + of_memory_barrier_sync(); of_atomic_int_inc(control); } else while (*control == 1) of_thread_yield();