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; }