@@ -23,11 +23,10 @@ #import "ObjFW_RT.h" #import "private.h" #import "threading.h" static of_rmutex_t global_mutex; -static of_once_t once_control = OF_ONCE_INIT; static void init(void) { if (!of_rmutex_new(&global_mutex)) @@ -35,10 +34,11 @@ } void objc_global_mutex_lock(void) { + static of_once_t once_control = OF_ONCE_INIT; of_once(&once_control, init); if (!of_rmutex_lock(&global_mutex)) OBJC_ERROR("Failed to lock global mutex!"); }