@@ -37,14 +37,13 @@ # include <3ds/types.h> # include <3ds/services/soc.h> #endif #ifdef OF_HAVE_THREADS -static of_once_t onceControl = OF_ONCE_INIT; static of_mutex_t mutex; #endif -static bool initialized = false; +static bool initSuccessful = false; static void init(void) { #if defined(OF_WINDOWS) @@ -75,24 +74,28 @@ if (!of_spinlock_new(&spinlock)) return; # endif #endif - initialized = true; + initSuccessful = true; } bool of_socket_init() { #ifdef OF_HAVE_THREADS + static of_once_t onceControl = OF_ONCE_INIT; of_once(&onceControl, init); #else - if (!initialized) + static bool initialized = false; + if (!initialized) { init(); + initialized = true; + } #endif - return initialized; + return initSuccessful; } int of_socket_errno() {