summaryrefslogtreecommitdiffstats
path: root/crypto/err/err.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2019-06-18 18:37:38 +0100
committerMatt Caswell <matt@openssl.org>2019-06-19 11:54:34 +0100
commit6913f5fe05a38fa72213b5b5d1f41ef10ca908bd (patch)
tree386fad30f5f06eaed4cdadcd8a24a36b4e09aff1 /crypto/err/err.c
parentd73458d17ac7e44270a2bcbace45ab99334754b4 (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.c2
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);