Re: Survey answers part 1: systemd has too many dependencies, …
Hi Bjørn,
Thanks for your well-put mail. As far as I understand it, your concern
is that libraries might exit() (either due to actually calling exit() or
due to having a bug) and therefore take pid 1 with them.
I am sure that the systemd developers are very aware of this fact. They
even published libabc, a collection of best practices for libraries:
https://git.kernel.org/cgit/linux/kernel/git/kay/libabc.git/tree/README
…which explicitly lists your concern:
Never call exit(), abort(), be very careful with assert()
- Always return error codes.
- Libraries need to be safe for usage in critical processes that
need to recover from errors instead of getting killed (think PID 1!).
Looking at the pid 1 dependency list¹, my gut feeling is that these
libraries are very mature and well-tested. Of course, that is not a
guarantee and I have not personally audited them. Furthermore, you can
never entirely rule out bugs. Then again, you can always fix bugs :).
In conclusion, I don’t worry about this at all. systemd, in my
experience, is very stable. This includes code which is pulled in by
third-party libraries.
① http://people.debian.org/~stapelberg/docs/systemd-dependencies.html,
section 2 (“systemd(1) itself: PID 1”)
--
Best regards,
Michael
Reply to: