From 826760945de655d2d2d387cac3a3646ced80977e Mon Sep 17 00:00:00 2001 From: Matt Caswell Date: Thu, 26 Mar 2015 10:15:59 +0000 Subject: [PATCH] Async clean ups Removed the function ASYNC_job_is_waiting() as it was redundant. The only time user code has a handle on a job is when one is waiting, so all they need to do is check whether the job is NULL. Also did some cleanups to make sure the job really is NULL after it has been freed! Reviewed-by: Rich Salz --- crypto/async/async.c | 8 +++----- include/openssl/async.h | 1 - ssl/ssl_lib.c | 6 +++--- 3 files changed, 6 insertions(+), 9 deletions(-) diff --git a/crypto/async/async.c b/crypto/async/async.c index cef5f4f959..c0f362e2c8 100644 --- a/crypto/async/async.c +++ b/crypto/async/async.c @@ -157,6 +157,7 @@ int ASYNC_start_job(ASYNC_JOB **job, int *ret, int (*func)(void *), *ret = ASYNC_get_ctx()->currjob->ret; ASYNC_JOB_free(ASYNC_get_ctx()->currjob); ASYNC_get_ctx()->currjob = NULL; + *job = NULL; ASYNC_CTX_free(); return ASYNC_FINISH; } @@ -180,6 +181,7 @@ int ASYNC_start_job(ASYNC_JOB **job, int *ret, int (*func)(void *), /* Should not happen */ ASYNC_JOB_free(ASYNC_get_ctx()->currjob); ASYNC_get_ctx()->currjob = NULL; + *job = NULL; ASYNC_CTX_free(); return ASYNC_ERR; } @@ -213,6 +215,7 @@ int ASYNC_start_job(ASYNC_JOB **job, int *ret, int (*func)(void *), err: ASYNC_JOB_free(ASYNC_get_ctx()->currjob); ASYNC_get_ctx()->currjob = NULL; + *job = NULL; ASYNC_CTX_free(); return ASYNC_ERR; } @@ -244,8 +247,3 @@ int ASYNC_in_job(void) return 0; } - -int ASYNC_job_is_waiting(ASYNC_JOB *job) -{ - return job->status == ASYNC_JOB_PAUSED; -} diff --git a/include/openssl/async.h b/include/openssl/async.h index 434db2254b..ff5985748d 100644 --- a/include/openssl/async.h +++ b/include/openssl/async.h @@ -70,7 +70,6 @@ int ASYNC_start_job(ASYNC_JOB **job, int *ret, int (*func)(void *), void *args, size_t size); int ASYNC_pause_job(void); int ASYNC_in_job(void); -int ASYNC_job_is_waiting(ASYNC_JOB *job); # ifdef __cplusplus } diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c index 63a1a891f2..31adbe473e 100644 --- a/ssl/ssl_lib.c +++ b/ssl/ssl_lib.c @@ -925,9 +925,9 @@ int SSL_check_private_key(const SSL *ssl) int SSL_waiting_for_async(SSL *s) { - if(s->job) { - return ASYNC_job_is_waiting(s->job); - } + if(s->job) + return 1; + return 0; } -- GitLab