-
-
Notifications
You must be signed in to change notification settings - Fork 4.3k
Description
Requisite= has a confusing name and creates an additional verification job that, with systemd's parallel execution, creates a race condition. It would be better if we explicitly decided (and documented) that it fails the job (rather than the documented failure of the transaction, which doesn't even seem to be the implemented logic) and name it accordingly (that is, as an "assert").
It would be good to have AssertStarted= be promoted (internally) to the behavior of Requires= if the specified unit is in the same transaction. This would better define the behavior if the unit specified in AssertStarted= failed quickly after entering the "started" state.
Or maybe we should scrap the entire directive; it's badly defined, implemented in a racy way, and rarely used.