aboutsummaryrefslogtreecommitdiff
path: root/include/qemu
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2018-04-17 12:56:07 +0200
committerKevin Wolf <kwolf@redhat.com>2018-05-23 14:30:49 +0200
commitdaa7f2f9467bc5624f04f28d4b01b88f08c6589c (patch)
treec1e663d665ae433ea35a1d8f9b8974e2465e693c /include/qemu
parent80fa2c756b3241f24015a7503a01f7999d4a942d (diff)
downloadqemu-daa7f2f9467bc5624f04f28d4b01b88f08c6589c.zip
qemu-daa7f2f9467bc5624f04f28d4b01b88f08c6589c.tar.gz
qemu-daa7f2f9467bc5624f04f28d4b01b88f08c6589c.tar.bz2
job: Move cancelled to Job
We cannot yet move the whole logic around job cancelling to Job because it depends on quite a few other things that are still only in BlockJob, but we can move the cancelled field at least. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: John Snow <jsnow@redhat.com>
Diffstat (limited to 'include/qemu')
-rw-r--r--include/qemu/job.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/include/qemu/job.h b/include/qemu/job.h
index 0751e2a..5dfbec5 100644
--- a/include/qemu/job.h
+++ b/include/qemu/job.h
@@ -47,6 +47,14 @@ typedef struct Job {
/** Current state; See @JobStatus for details. */
JobStatus status;
+ /**
+ * Set to true if the job should cancel itself. The flag must
+ * always be tested just before toggling the busy flag from false
+ * to true. After a job has been cancelled, it should only yield
+ * if #aio_poll will ("sooner or later") reenter the coroutine.
+ */
+ bool cancelled;
+
/** Element of the list of jobs */
QLIST_ENTRY(Job) job_list;
} Job;
@@ -93,6 +101,9 @@ JobType job_type(const Job *job);
/** Returns the enum string for the JobType of a given Job. */
const char *job_type_str(const Job *job);
+/** Returns whether the job is scheduled for cancellation. */
+bool job_is_cancelled(Job *job);
+
/**
* Get the next element from the list of block jobs after @job, or the
* first one if @job is %NULL.