Convert __thread to pthreads for Thread Local Storage In theory the pthreads approach for Thread Local Storage should be more portable. This also changes some APIs in order to accommodate this change. In particular ASYNC_init_pool is renamed ASYNC_init_thread and ASYNC_free_pool is renamed ASYNC_cleanup_thread. Also introduced ASYNC_init and ASYNC_cleanup. Reviewed-by: Rich Salz <rsalz@openssl.org>
diff --git a/apps/s_client.c b/apps/s_client.c index 4a93b3d..d90124d 100644 --- a/apps/s_client.c +++ b/apps/s_client.c
@@ -1208,7 +1208,7 @@ if (async) { SSL_CTX_set_mode(ctx, SSL_MODE_ASYNC); - ASYNC_init_pool(0, 0); + ASYNC_init(1, 0, 0); } if (!config_ctx(cctx, ssl_args, ctx, 1, jpake_secret == NULL)) @@ -2102,7 +2102,7 @@ SSL_free(con); } if (async) { - ASYNC_free_pool(); + ASYNC_cleanup(1); } #if !defined(OPENSSL_NO_NEXTPROTONEG) OPENSSL_free(next_proto.data);
diff --git a/apps/s_server.c b/apps/s_server.c index c90b700..fd8035d 100644 --- a/apps/s_server.c +++ b/apps/s_server.c
@@ -1660,7 +1660,7 @@ if (async) { SSL_CTX_set_mode(ctx, SSL_MODE_ASYNC); - ASYNC_init_pool(0, 0); + ASYNC_init(1, 0, 0); } #ifndef OPENSSL_NO_SRTP @@ -1974,7 +1974,7 @@ BIO_free(bio_s_msg); bio_s_msg = NULL; if (async) { - ASYNC_free_pool(); + ASYNC_cleanup(1); } return (ret); }