On 18/12/15 17:27, Rainer Weikusat wrote:
> John Hughes <john@???> writes:
>
>>
>> Can't find the string "ESYADMINDEPRECATED" in the source for
>> libsystemd0.
> That's not really surprising as there is no source for
> 'libsystemd0'. It's a part of systemd,
>
> https://packages.debian.org/sid/libsystemd0
>
> and the source of that doesn't contain 'if (init_is_systemd)' either.
You were implicitly claiming that libsystemd would produce errors if
systemd was installed. I was, perhaps flippantly, noting that it doesn't.
You are right, libsystemd0 is made from the same source package as
systemd, but so what? The source is available, look in the
src/libsystemd directory.
public_ int sd_listen_fds(int unset_environment) {
const char *e;
unsigned n;
int r, fd;
pid_t pid;
e = getenv("LISTEN_PID");
if (!e) {
r = 0;
goto finish;
}
If "LISTEN_PID" is not set then we're not started by inetd, not systemd,
so the first and only input device is stdin, just like always. (By the
way, I think the interface for this function is pretty shitty, it could
simplify the caller if in the inetd case it dup'ed stdin to
SD_LISTEN_FDS_START and then everyone could pretend they were being
started by systemd, but I expect that would have caused bigger howls of
outrage).