On 2025-03-05 04:19, Mark Hindley wrote:
Control: tags -1 upstream
Jessie,
I know this has been dormant for a long time, for which, apologies.
On Sat, Jul 13, 2019 at 08:29:26AM +0000, Dmitry Bogatov wrote:
I thing we already have everything needed. Essentially, insserv
impements topological sorting, both on start sequence and stop sequence.
On start, if "foo" has "Should-Start: bar", it means that "foo" will be
started /after/ "bar".
On start, if "foo" has "X-Start-Before: bar", it means that "foo" will
be started /before/ "bar".
On stop, if "foo" has "Should-Stop: bar", then "foo" is stopped /before/
"bar".
On stop, if "foo" has "X-Stop-After: bar", then "foo" is stoppend
/after/ "bar"
So, any init script can specify arbitrary relations (before, after,
irrelevant) with any other script. So, to make sure that your script is
never executed parallel to some other, you have to use one of first two
relations and one of last two.
On other hand, we already have X-Interactive, which, strictly speaking,
is not in basis (it can be expressed in terms of Should-Start and
X-Start-Before).
Jess, how much complexity would it be to implement X-Exclusive (or reusing
X-Interactive for stop sequence)?
What are your thoughts here?
This is probably something we could work into insserv. I like the idea
of a new X-Exclusive directive to isolate shutdown jobs instead of
trying to overload X-Interactive. Right now, in the code, X-Interactive
has a pretty specific meaning and it's geared toward start-up jobs only.