summaryrefslogtreecommitdiffstats
path: root/src/core/job.h
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@microsoft.com>2021-12-03 02:36:05 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-12-07 16:30:49 +0100
commitf43282670bfd4c0e38c8c37dba9c91fff7d6232d (patch)
treeebd0e22bbebfa6b803d86b74dea43412a81a46cd /src/core/job.h
parentgithub: mention the systemd-devel ML in the new issue tab (diff)
downloadsystemd-f43282670bfd4c0e38c8c37dba9c91fff7d6232d.tar.xz
systemd-f43282670bfd4c0e38c8c37dba9c91fff7d6232d.zip
core: add StartUnitWithFlags DBUS method
When an activation job is skipped because of a Condition*= setting failing, currently the JobRemoved signal lists 'done' as the result, just as with a successful job. This is a problem when doing dbus activation: dbus-broker will receive a signal that says the job was successful, so then it moves into a state where it waits for the requested name to appear on the bus, but that never happens because the job was actually skipped. Add a new StartUnitWithFlags that changes the behaviour of the JobRemoved signal to list 'done' or 'skipped'. Fixes #21520
Diffstat (limited to 'src/core/job.h')
-rw-r--r--src/core/job.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/core/job.h b/src/core/job.h
index c033c8a4fa..a66e5985b8 100644
--- a/src/core/job.h
+++ b/src/core/job.h
@@ -160,6 +160,7 @@ struct Job {
bool irreversible:1;
bool in_gc_queue:1;
bool ref_by_private_bus:1;
+ bool return_skip_on_cond_failure:1;
};
Job* job_new(Unit *unit, JobType type);