mirror of
https://github.com/troglobit/finit.git
synced 2026-10-02 14:02:52 +07:00
22fbb408ebac11601c13798b144acf491c70b5f0
A service's condition was computed with mkcond() at each of the six sites that assert or clear it, and svc_find_by_cond() reimplemented the reverse lookup a seventh time. maybe_clear_cond() had its own scan for another service supplying the same condition. svc_cond_owner() answers who owns a condition, svc_cond_nth() walks the conditions a service owns, and svc_cond_set()/svc_cond_clear() apply to all of them. svc_find_by_cond() becomes a wrapper, and maybe_clear_cond() keeps its rule per condition rather than for the one it used to compute. The provides[] storage lands here unused, since svc_cond_nth() reads num_provides. Nothing sets it yet, so a service still owns exactly its own pid/<ident> and there is no functional change. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
…
Finit is a fast, simple alternative to SysV init and systemd, designed for small and embedded Linux systems. It can also run on desktop and server systems, like finix.
Reverse engineered from the EeePC fastinit
"gaps filled with frog DNA …"
— Claudio Matsuoka
For detailed information, explore our extensive documentation
📚 http://finit-project.github.io
For working examples, see the 🚀 contrib/ section or these tutorials:
- 🛠️ Buildroot embedded Linux,
- 📦 Debian GNU/Linux,
- ⛰️ Alpine Linux, and
- 🌌 Void Linux
Note
Finit can run on various Linux distributions, but the bundled install scripts are examples only. They have been tested on amd64 (x86_64) systems with standard configurations.
For embedded systems, see these Buildroot-based examples: myLinux, Infix, or br2-finit-demo.
Languages
C
84.3%
Shell
11.9%
Makefile
2.1%
M4
1.7%

