summaryrefslogtreecommitdiff
path: root/src/core/job.h
diff options
context:
space:
mode:
authorMichal Schmidt <mschmidt@redhat.com>2013-02-22 11:21:37 +0100
committerMichal Schmidt <mschmidt@redhat.com>2013-02-22 16:06:17 +0100
commit23ade460e5a118daa575a961b405d089f95e0617 (patch)
treeb10d6c6ff9f7da39c0dac2ae09540fe63c2cf472 /src/core/job.h
parentb7cf6049a36dfd8e5f3c6420243eb49d348dbd2f (diff)
core, systemctl: add support for irreversible jobs
Add a new job mode: replace-irreversibly. Jobs enqueued using this mode cannot be implicitly canceled by later enqueued conflicting jobs. They can however still be canceled with an explicit "systemctl cancel" call.
Diffstat (limited to 'src/core/job.h')
-rw-r--r--src/core/job.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/core/job.h b/src/core/job.h
index d10e6b6b0e..45d0487451 100644
--- a/src/core/job.h
+++ b/src/core/job.h
@@ -83,6 +83,7 @@ enum JobState {
enum JobMode {
JOB_FAIL, /* Fail if a conflicting job is already queued */
JOB_REPLACE, /* Replace an existing conflicting job */
+ JOB_REPLACE_IRREVERSIBLY, /* Like JOB_REPLACE + produce irreversible jobs */
JOB_ISOLATE, /* Start a unit, and stop all others */
JOB_IGNORE_DEPENDENCIES, /* Ignore both requirement and ordering dependencies */
JOB_IGNORE_REQUIREMENTS, /* Ignore requirement dependencies */
@@ -161,6 +162,7 @@ struct Job {
bool sent_dbus_new_signal:1;
bool ignore_order:1;
bool forgot_bus_clients:1;
+ bool irreversible:1;
};
JobBusClient* job_bus_client_new(DBusConnection *connection, const char *name);