[systemd-devel] RFC: removing initctl support
Lennart Poettering
lennart at poettering.net
Tue Sep 22 03:32:25 PDT 2015
On Tue, 22.09.15 10:11, Daniel P. Berrange (berrange at redhat.com) wrote:
> > And most importantly: the entire protocol use by sysvinit via
> > /dev/initctl is deeply flawed, since it sends messages over
> > /dev/initctl that are not a divisor of PIPE_SIZE in length. Thus, if
> > PID 1 didn't read messages quick enough the messages queued could be
> > half-written and be partially interleaved with another client's
> > messages, and there is no way the system can ever recover from that.
> >
> > Thus, I'd really like to kill this. Does anybody care about it, and
> > can give me a strong enough reason to keep this anyway?
>
> The libvirt virDomainShutdown|Reboot APIs for triggering controlled
> shutdown/reboots of guest OS have support for using /dev/initctl with
> containers, as it was the lowest common denominator that easily worked
> across systemd, sysvinit & upstart.
Ah, I see... But I wasn't aware Upstart even implemented that...
> We could add further code to use a systemd specific interface if
> needed, so it wouldn't be the end of the world of /dev/initctl was
> removed, but it'd be nice to not have todo that.
A simple fall back could be to send SIGRTMIN+4 to PID 1, if
/dev/initctl is not around.
One more addendum to the original mail:
We already declared the interface "obsolete" in the docs, which makes
me particularly keen on dropping it...
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list