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.

Reply via email to