Subject: Re: [bug#30498] [WIP v2 shepherd] shepherd: If /dev/kmsg is writable, use it for logging.

From: Danny Milosavljevic <[email-masked]>
Date: Mon, 26 Feb 2018 23:32:14 +0100

Hi Ludo,

> As for cryptsetup, what if the service that runs crypsetup simply
> parameterizes ‘log-output-port’ to /dev/console?  That would give us the
> current behavior, right?

I don't understand why this current-output-port stuff is somehow passed on to
forked processes in the first place (why does cryptsetup care what I do
to guile variables?).

scheme@(guile-user)> (current-output-port (%make-void-port "w"))
scheme@(guile-user)> (system* "ls" "/")
scheme@(guile-user)>

WTF?

It wasn't my intention to inherit them as file descriptors... also, for guile
buffering ports, how does it inherit those as file descriptors?  Will it still
do the custom line buffering that shepherd does, also when a child process
writes there?