提交 ed49f43a 编写于 作者: M Matt Caswell

Ensure Async is deinited properly

The global thread local keys were not being deinited properly in async.
Reviewed-by: NRich Salz <rsalz@openssl.org>
上级 224905f8
......@@ -351,8 +351,6 @@ int async_init(void)
return 1;
}
/* TODO: FIXME: This needs to be called by something!!! */
void async_deinit(void);
void async_deinit(void)
{
CRYPTO_THREAD_cleanup_local(&ctxkey);
......
......@@ -58,4 +58,5 @@
#include <openssl/async.h>
int async_init(void);
void async_deinit(void);
......@@ -580,6 +580,16 @@ void OPENSSL_cleanup(void)
COMP_zlib_cleanup();
}
#ifndef OPENSSL_NO_ASYNC
if (async_inited) {
# ifdef OPENSSL_INIT_DEBUG
fprintf(stderr, "OPENSSL_INIT: OPENSSL_cleanup: "
"async_deinit()\n");
# endif
async_deinit();
}
#endif
#ifndef OPENSSL_NO_ENGINE
if (engine_inited) {
# ifdef OPENSSL_INIT_DEBUG
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册