diff options
author | Luca Boccassi <bluca@debian.org> | 2023-04-12 21:37:45 +0100 |
---|---|---|
committer | Luca Boccassi <bluca@debian.org> | 2023-04-13 13:28:25 +0100 |
commit | 4c7a0fc8d061b41fdd63eb19b6fc0a5c94668dde (patch) | |
tree | 7a83582aa26c4254b5afd85185ef25e61f2a615a /src/core | |
parent | 7223d500ac548c69e7879931e3ad8c84838f925b (diff) | |
download | systemd-4c7a0fc8d061b41fdd63eb19b6fc0a5c94668dde.tar.gz |
Uphold/StopWhenUnneeded/BindsTo: requeue when job finishes
When a unit is upheld and fails, and there are no state changes in
the upholder, it will not be retried, which is against what the
documentation suggests.
Requeue when the job finishes. Same for the other two queues.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/job.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/job.c b/src/core/job.c index 334fbf770e..826ef6809c 100644 --- a/src/core/job.c +++ b/src/core/job.c @@ -1051,6 +1051,12 @@ finish: job_add_to_gc_queue(other->job); } + /* Ensure that when an upheld/unneeded/bound unit activation job fails we requeue it, if it still + * necessary. If there are no state changes in the triggerer, it would not be retried otherwise. */ + unit_submit_to_start_when_upheld_queue(u); + unit_submit_to_stop_when_bound_queue(u); + unit_submit_to_stop_when_unneeded_queue(u); + manager_check_finished(u->manager); return 0; |