diff options
author | Matt Caswell <matt@openssl.org> | 2019-06-18 18:37:38 +0100 |
---|---|---|
committer | Matt Caswell <matt@openssl.org> | 2019-06-19 11:54:34 +0100 |
commit | 6913f5fe05a38fa72213b5b5d1f41ef10ca908bd (patch) | |
tree | 386fad30f5f06eaed4cdadcd8a24a36b4e09aff1 /crypto/err/err.c | |
parent | d73458d17ac7e44270a2bcbace45ab99334754b4 (diff) |
Provide an ability to deregister thread stop handlers
If a provider gets unloaded then any thread stop handlers that it had
registered will be left hanging. We should clean them up before tearing
down the provider.
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9186)
Diffstat (limited to 'crypto/err/err.c')
-rw-r--r-- | crypto/err/err.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/crypto/err/err.c b/crypto/err/err.c index 9eb477ccda..8752c11977 100644 --- a/crypto/err/err.c +++ b/crypto/err/err.c @@ -741,7 +741,7 @@ ERR_STATE *ERR_get_state(void) return NULL; } - if (!ossl_init_thread_start(NULL, err_delete_thread_state) + if (!ossl_init_thread_start(NULL, NULL, err_delete_thread_state) || !CRYPTO_THREAD_set_local(&err_thread_local, state)) { ERR_STATE_free(state); CRYPTO_THREAD_set_local(&err_thread_local, NULL); |