From: Richard Levitte Date: Mon, 14 Nov 2016 23:58:51 +0000 (+0100) Subject: Add a warning stipulating how things should be coded in ossl_init_base X-Git-Tag: OpenSSL_1_1_1-pre1~3070 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=8aa9cf7e655ae1e41f283fbf16dcc810970058a0;p=oweals%2Fopenssl.git Add a warning stipulating how things should be coded in ossl_init_base Reviewed-by: Matt Caswell (Merged from https://github.com/openssl/openssl/pull/1922) --- diff --git a/crypto/init.c b/crypto/init.c index 01619bc129..3f91119407 100644 --- a/crypto/init.c +++ b/crypto/init.c @@ -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)