Fix #143: redesign condition subsystem

Change service conditions from the non-obvious <svc/path/to/foo> to
<pid/foo:id>, utilizing the unique name of the service instead of the
weird composition of paths from /run and PID file names.  Hopefully
making it more clear that one service's pidfile is another service's
`<pid/foo>` condition.

Note: this is an incompatible change to the condition system!
      The Finit major version will be stepped to indicate this.

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2021-02-11 07:58:06 +01:00
1 parent 3e9c170e6b
commit d1fac6f5b3
3 files changed
+34 -71

No files matched your search

+3 -3
View File
@@ -21,9 +21,9 @@ Major bug fix release. New features include cgroups and a new progress!
* Incompatible `configure` script changes, i.e., you must give proper
path arguments to the script, no more guessing just GNU defaults.
There are examples in the documentation and the `contrib/` section
* Change service PID file conditions from `<svc/foo>` to `<pid/foo>`.
This will hopefully make it more clear that one service's 'pid:!foo'
pidfile is another service's <pid/foo> condition
* Change service conditions from the non-obvious `<svc/path/to/foo>` to
`<pid/foo:id>`. This to hopefully make it clear that one service's
'pid:!foo' pidfile is another service's `<pid/foo>` condition
* Major refactor of Finit's `main()` function to be able to start the
event loop earlier. This also facilitated factoring out functionality
previously hard-coded in Finit, e.g., starting the bundled watchdogd,