From 23ade460e5a118daa575a961b405d089f95e0617 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Fri, 22 Feb 2013 11:21:37 +0100 Subject: 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. --- src/core/job.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core/job.h') 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); -- cgit v1.2.3-54-g00ecf