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: Rich Salz <rsalz@openssl.org>
This commit is contained in:
parent
4015adf0a3
commit
6bc7bad011
1 changed files with 2 additions and 1 deletions
|
@ -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");
|
||||
|
|
Loading…
Reference in a new issue