From 5f9a6a08e8f65e01746d2485fc65a3a78e74865f Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Tue, 24 Apr 2018 17:10:12 +0200 Subject: job: Add job_dismiss() This moves block_job_dismiss() to the Job layer. Signed-off-by: Kevin Wolf Reviewed-by: Max Reitz --- job.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'job.c') diff --git a/job.c b/job.c index eede6802ae..7cd3602782 100644 --- a/job.c +++ b/job.c @@ -568,7 +568,7 @@ void job_user_resume(Job *job, Error **errp) job_resume(job); } -void job_do_dismiss(Job *job) +static void job_do_dismiss(Job *job) { assert(job); job->busy = false; @@ -581,6 +581,19 @@ void job_do_dismiss(Job *job) job_unref(job); } +void job_dismiss(Job **jobptr, Error **errp) +{ + Job *job = *jobptr; + /* similarly to _complete, this is QMP-interface only. */ + assert(job->id); + if (job_apply_verb(job, JOB_VERB_DISMISS, errp)) { + return; + } + + job_do_dismiss(job); + *jobptr = NULL; +} + void job_early_fail(Job *job) { assert(job->status == JOB_STATUS_CREATED); -- cgit v1.2.3