Commit ed49f43a authored by Matt Caswell's avatar Matt Caswell
Browse files

Ensure Async is deinited properly



The global thread local keys were not being deinited properly in async.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
parent 224905f8
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -58,4 +58,5 @@
#include <openssl/async.h>

int async_init(void);
void async_deinit(void);
+10 −0
Original line number Diff line number Diff line
@@ -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