[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: