Commit 6bc7bad0 authored by Matt Caswell's avatar Matt Caswell
Browse files

Fix windows thread stop code



The windows thread stop code was erroneously not just deleting the thread
local variable on thread stop, but also deleting the thread local *key*
(thus removing thread local data for *all* threads in one go!).

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 4015adf0
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -506,7 +506,6 @@ static void ossl_init_thread_stop(struct thread_local_inits_st *locals)
    }

    OPENSSL_free(locals);
    ossl_init_thread_stop_cleanup();
}

void OPENSSL_thread_stop(void)
@@ -599,6 +598,8 @@ void OPENSSL_cleanup(void)
        ERR_free_strings();
    }

    ossl_init_thread_stop_cleanup();

#ifdef OPENSSL_INIT_DEBUG
    fprintf(stderr, "OPENSSL_INIT: OPENSSL_INIT_library_stop: "
                    "CRYPTO_cleanup_all_ex_data()\n");