[PATCH] systemd compatibility

Davide Cavalca davide at geexbox.org
Sun Jan 23 08:47:22 UTC 2011


Il giorno sab, 22/01/2011 alle 18.58 +0100, Denys Vlasenko ha scritto:
> Tell me more about this systemd stuff. Why is it useful?
> Why syslogd needs changing for it?

systemd (http://freedesktop.org/wiki/Software/systemd) is a new init
system for Linux. Among other features, systemd implements so-called
"socket activation" for daemons: systemd binds the port/socket on behalf
of the daemon, and when a connection arrives it spawns the daemon and
feeds it the socket. On the daemon side, socket activation requires some
implementation work to be able to detect and use the socket passed by
systemd. Read 
http://0pointer.de/public/systemd-man/daemon.html
http://0pointer.de/public/systemd-man/sd-daemon.html
for the gory details.

Socket activation is a nice perk for most daemons, but it's not strictly
required (systemd can start a daemon without it). But syslogd is a
special case: because many applications log to /dev/log during boot,
systemd can bind it early in the boot process, buffer the incoming
messages and forward them to syslogd when it's finished starting: this
way there will be no lost messages in the log, even if the boot is
heavily parallelized.

In OpenBricks (http://openbricks.org) we are in the process of switching
to systemd, and the syslogd patch was necessary to make system logging
work reliably. All the major syslogd daemons already implement socket
activation.

Cheers,
Davide


More information about the busybox mailing list