manager: add 'needs-stop/needs-start' markers

Useful for packaging scripts, when units are removed.
When multiple markers are assigned without +/-, the last one wins.
When using +/-, the job merging logic is followed to the extent possible.
This commit is contained in:
Luca Boccassi
2026-02-23 13:05:23 +00:00
parent a2a78602b0
commit f3a34fcc3a
10 changed files with 240 additions and 21 deletions
+2
View File
@@ -155,6 +155,8 @@ FreezerState freezer_state_objective(FreezerState state) {
static const char* const unit_marker_table[_UNIT_MARKER_MAX] = {
[UNIT_MARKER_NEEDS_RELOAD] = "needs-reload",
[UNIT_MARKER_NEEDS_RESTART] = "needs-restart",
[UNIT_MARKER_NEEDS_STOP] = "needs-stop",
[UNIT_MARKER_NEEDS_START] = "needs-start",
};
DEFINE_STRING_TABLE_LOOKUP(unit_marker, UnitMarker);
+2
View File
@@ -62,6 +62,8 @@ typedef enum FreezerState {
typedef enum UnitMarker {
UNIT_MARKER_NEEDS_RELOAD,
UNIT_MARKER_NEEDS_RESTART,
UNIT_MARKER_NEEDS_STOP,
UNIT_MARKER_NEEDS_START,
_UNIT_MARKER_MAX,
_UNIT_MARKER_INVALID = -EINVAL,
} UnitMarker;