Add a warning stipulating how things should be coded in ossl_init_base

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/1922)
This commit is contained in:
Richard Levitte 2016-11-15 00:58:51 +01:00
parent b7a7f39afe
commit 8aa9cf7e65

View File

@ -79,6 +79,13 @@ DEFINE_RUN_ONCE_STATIC(ossl_init_base)
if ((init_lock = CRYPTO_THREAD_lock_new()) == NULL)
return 0;
OPENSSL_cpuid_setup();
/*
* BIG FAT WARNING!
* Everything needed to be initialized in this function before threads
* come along MUST happen before base_inited is set to 1, or we will
* see race conditions.
*/
base_inited = 1;
#if !defined(OPENSSL_NO_DSO) && !defined(OPENSSL_USE_NODELETE)