From 6a74c075aca731e7e945201a4ae2336b8e328433 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Fri, 20 Apr 2018 15:33:57 +0200 Subject: job: Move job_finish_sync() to Job block_job_finish_sync() doesn't contain anything block job specific any more, so it can be moved to Job. Signed-off-by: Kevin Wolf Reviewed-by: Max Reitz --- include/qemu/job.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include/qemu') diff --git a/include/qemu/job.h b/include/qemu/job.h index 8f7f71a..17e2cec 100644 --- a/include/qemu/job.h +++ b/include/qemu/job.h @@ -389,6 +389,15 @@ typedef void JobDeferToMainLoopFn(Job *job, void *opaque); */ void job_defer_to_main_loop(Job *job, JobDeferToMainLoopFn *fn, void *opaque); +/** + * Synchronously finishes the given @job. If @finish is given, it is called to + * trigger completion or cancellation of the job. + * + * Returns 0 if the job is successfully completed, -ECANCELED if the job was + * cancelled before completing, and -errno in other error cases. + */ +int job_finish_sync(Job *job, void (*finish)(Job *, Error **errp), Error **errp); + /* TODO To be removed from the public interface */ void job_state_transition(Job *job, JobStatus s1); void coroutine_fn job_do_yield(Job *job, uint64_t ns); -- cgit v1.1