aboutsummaryrefslogtreecommitdiff
path: root/crypto/async/async.c
diff options
context:
space:
mode:
authorMatt Caswell <matt@openssl.org>2015-03-26 10:15:59 +0000
committerMatt Caswell <matt@openssl.org>2015-11-20 23:32:18 +0000
commit826760945de655d2d2d387cac3a3646ced80977e (patch)
tree8d2f6696345b56a1d4197acdc6a7398c9084108b /crypto/async/async.c
parent06754949e4317f5ba7e318a8841b78a7d622053f (diff)
downloadopenssl-826760945de655d2d2d387cac3a3646ced80977e.zip
openssl-826760945de655d2d2d387cac3a3646ced80977e.tar.gz
openssl-826760945de655d2d2d387cac3a3646ced80977e.tar.bz2
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 <rsalz@openssl.org>
Diffstat (limited to 'crypto/async/async.c')
-rw-r--r--crypto/async/async.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/crypto/async/async.c b/crypto/async/async.c
index cef5f4f..c0f362e 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;
-}