int ASYNC_init(int init_thread, size_t max_size, size_t init_size)
{
- if (!async_thread_local_init())
+ if (!async_global_init())
return 0;
if (init_thread)
return 0;
}
+ if (!async_local_init()) {
+ ASYNCerr(ASYNC_F_ASYNC_INIT_THREAD, ASYNC_R_INIT_FAILED);
+ return 0;
+ }
pool = OPENSSL_zalloc(sizeof *pool);
if (pool == NULL) {
ASYNCerr(ASYNC_F_ASYNC_INIT_THREAD, ERR_R_MALLOC_FAILURE);
}
}
pool->curr_size = curr_size;
-
if (!async_set_pool(pool)) {
ASYNCerr(ASYNC_F_ASYNC_INIT_THREAD, ASYNC_R_FAILED_TO_SET_POOL);
goto err;
sk_ASYNC_JOB_free(pool->jobs);
OPENSSL_free(pool);
(void)async_set_pool(NULL);
+ async_local_cleanup();
async_ctx_free();
}