Lines Matching refs:pool
106 async_pool *pool;
108 pool = (async_pool *)CRYPTO_THREAD_get_local(&poolkey);
109 if (pool == NULL) {
116 pool = (async_pool *)CRYPTO_THREAD_get_local(&poolkey);
119 job = sk_ASYNC_JOB_pop(pool->jobs);
122 if ((pool->max_size != 0) && (pool->curr_size >= pool->max_size))
131 pool->curr_size++;
138 async_pool *pool;
140 pool = (async_pool *)CRYPTO_THREAD_get_local(&poolkey);
141 if (pool == NULL) {
147 sk_ASYNC_JOB_push(pool->jobs, job);
320 static void async_empty_pool(async_pool *pool)
324 if (pool == NULL || pool->jobs == NULL)
328 job = sk_ASYNC_JOB_pop(pool->jobs);
354 async_pool *pool;
368 pool = OPENSSL_zalloc(sizeof(*pool));
369 if (pool == NULL) {
374 pool->jobs = sk_ASYNC_JOB_new_reserve(NULL, init_size);
375 if (pool->jobs == NULL) {
377 OPENSSL_free(pool);
381 pool->max_size = max_size;
389 * Not actually fatal because we already created the pool, just
396 sk_ASYNC_JOB_push(pool->jobs, job); /* Cannot fail due to reserve */
399 pool->curr_size = curr_size;
400 if (!CRYPTO_THREAD_set_local(&poolkey, pool)) {
407 async_empty_pool(pool);
408 sk_ASYNC_JOB_free(pool->jobs);
409 OPENSSL_free(pool);
415 async_pool *pool = (async_pool *)CRYPTO_THREAD_get_local(&poolkey);
417 if (pool != NULL) {
418 async_empty_pool(pool);
419 sk_ASYNC_JOB_free(pool->jobs);
420 OPENSSL_free(pool);