Lines Matching refs:job
81 ASYNC_JOB *job = NULL; in async_job_new() local
83 job = OPENSSL_zalloc(sizeof(*job)); in async_job_new()
84 if (job == NULL) in async_job_new()
87 job->status = ASYNC_JOB_RUNNING; in async_job_new()
89 return job; in async_job_new()
92 static void async_job_free(ASYNC_JOB *job) in async_job_free() argument
94 if (job != NULL) { in async_job_free()
95 OPENSSL_free(job->funcargs); in async_job_free()
96 async_fibre_free(&job->fibrectx); in async_job_free()
97 OPENSSL_free(job); in async_job_free()
102 ASYNC_JOB *job; in async_get_pool_job() local
118 job = sk_ASYNC_JOB_pop(pool->jobs); in async_get_pool_job()
119 if (job == NULL) { in async_get_pool_job()
124 job = async_job_new(); in async_get_pool_job()
125 if (job != NULL) { in async_get_pool_job()
126 if (! async_fibre_makecontext(&job->fibrectx)) { in async_get_pool_job()
127 async_job_free(job); in async_get_pool_job()
133 return job; in async_get_pool_job()
136 static void async_release_job(ASYNC_JOB *job) { in async_release_job() argument
145 OPENSSL_free(job->funcargs); in async_release_job()
146 job->funcargs = NULL; in async_release_job()
147 sk_ASYNC_JOB_push(pool->jobs, job); in async_release_job()
152 ASYNC_JOB *job; in async_start_func() local
161 job = ctx->currjob; in async_start_func()
162 job->ret = job->func(job->funcargs); in async_start_func()
165 job->status = ASYNC_JOB_STOPPING; in async_start_func()
166 if (!async_fibre_swapcontext(&job->fibrectx, in async_start_func()
177 int ASYNC_start_job(ASYNC_JOB **job, ASYNC_WAIT_CTX *wctx, int *ret, in ASYNC_start_job() argument
192 if (*job != NULL) in ASYNC_start_job()
193 ctx->currjob = *job; in ASYNC_start_job()
202 *job = NULL; in ASYNC_start_job()
207 *job = ctx->currjob; in ASYNC_start_job()
214 if (*job == NULL) in ASYNC_start_job()
216 ctx->currjob = *job; in ASYNC_start_job()
248 *job = NULL; in ASYNC_start_job()
286 *job = NULL; in ASYNC_start_job()
292 ASYNC_JOB *job; in ASYNC_pause_job() local
305 job = ctx->currjob; in ASYNC_pause_job()
306 job->status = ASYNC_JOB_PAUSING; in ASYNC_pause_job()
308 if (!async_fibre_swapcontext(&job->fibrectx, in ASYNC_pause_job()
314 async_wait_ctx_reset_counts(job->waitctx); in ASYNC_pause_job()
321 ASYNC_JOB *job; in async_empty_pool() local
327 job = sk_ASYNC_JOB_pop(pool->jobs); in async_empty_pool()
328 async_job_free(job); in async_empty_pool()
329 } while (job); in async_empty_pool()
373 ASYNC_JOB *job; in ASYNC_init_thread() local
374 job = async_job_new(); in ASYNC_init_thread()
375 if (job == NULL || !async_fibre_makecontext(&job->fibrectx)) { in ASYNC_init_thread()
380 async_job_free(job); in ASYNC_init_thread()
383 job->funcargs = NULL; in ASYNC_init_thread()
384 sk_ASYNC_JOB_push(pool->jobs, job); /* Cannot fail due to reserve */ in ASYNC_init_thread()
440 ASYNC_WAIT_CTX *ASYNC_get_wait_ctx(ASYNC_JOB *job) in ASYNC_get_wait_ctx() argument
442 return job->waitctx; in ASYNC_get_wait_ctx()