return NULL;
/* 0x400 is the spin count value suggested in the documentation */
- if (!InitializeCriticalSectionAndSpinCount(lock, 0x400))
+ if (!InitializeCriticalSectionAndSpinCount(lock, 0x400)) {
+ OPENSSL_free(lock);
return NULL;
+ }
return lock;
}
return TRUE;
}
-void CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
+int CRYPTO_THREAD_run_once(CRYPTO_ONCE *once, void (*init)(void))
{
if (InitOnceExecuteOnce(once, once_cb, init, NULL))
- return 0;
+ return 1;
- return 1;
+ return 0;
}
# endif