From 78a05ebebe174ea247691883165970df1ddb4db3 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Thu, 25 Feb 2016 11:40:50 +0000 Subject: Doc fix about launchd's XML usage (thanks awilfox) --- doc/why.html | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/doc/why.html b/doc/why.html index 9438d68..7ee0f68 100644 --- a/doc/why.html +++ b/doc/why.html @@ -103,13 +103,17 @@ Process 1 should be absolutely stable, it should be guaranteed to never crash, so the whole of its source code should be under control. At Upstart's level of complexity, those goals are outright impossible to achieve, so this approach is flawed by design. -
  • launchd suffers from the same kind of problem. Regardless of how -things are actually implemented inside (which I have no idea about), services +
  • launchd suffers from the same kind of problems. Example: Services running under launchd must be configured using -XML. That means there is an XML parser in process 1. -What -could possibly go wrong ?
  • +XML; the launchctl process interprets the XML, converts it into a +key-value store (which is strictly +less powerful than XML, so why do they even use XML in the first place?) +and sends it to launchd via a Mach-specific IPC. Process 1 needs to be +linked against the library that handles the Mach IPC, it needs to decode +the key-value store, and use it to run and supervise a daemon. And it +needs to keep everything in memory. This is +a lot more complex and resource-consuming than it needs to be.
  • systemd is much, much worse than the other ones, and a real danger for the future of GNU/Linux. I have a special page dedicated to it.
  • -- cgit v1.3.1