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

Re: libsystemd [was: Re: Is missing SysV-init support a bug?]

Dmitry Bogatov <kaction@ruggedinbox.com> writes:

> Socket is not bad thing. Inventing daemon for no reason is complicating
> things for no reason => bad.  Thanks history, we have pid files, not
> `libpid' to talk to `pidd'.

Uh, the daemon in question is the init daemon?  Which has been there since
the beginning of UNIX?  You kind of need that daemon.  You can't do
without it.  :)

PID files are an ugly hack and have *always* been an ugly hack.  I cannot
tell you the number of obnoxious edge cases I've had to deal with around
PID files: files getting created at the wrong time, with the wrong
ownership, in directories that aren't writable by the process and
therefore fail, with invalid contents, or truncated, or reused for some
other purpose and now with bizarre and undocumented syntax, or kept around
after the host reboots and they become irrelevant, or used entirely
unsafely because the original daemon is long-gone, the PID space has
wrapped, and now that PID is pointing to sshd and gets happily killed by
something that blindly trusts the PID file.  They're not something anyone
would want to use voluntarily.

> I would be interested to know of more selling points of libsystemd, but
> discussion how to implement them in simple way does not belong to
> debian-devel, but to upstream projects lists.

I'm discussing it on debian-devel because so many of the arguments against
systemd on the grounds of its supposed contrariness to UNIX demonstrate
the most appalling ignorance of UNIX, and I think it's useful to talk
about *specifics* instead of general political positions on systemd as an
abstract Platonian ideal.  We're making a free UNIX distribution.  We
should care *deeply* about the specifics; that's the best way to make good
decisions.  And we should be connoisseurs of good ideas, whatever their

Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>

Reply to: