Am 23.11.2017 um 10:32 schrieb Gena Makhomed:
On 23.11.2017 7:45, Mantas Mikulėnas wrote:

This is bug in nginx code? And this bug should be fixed in nginx?

But "daemon(); write_pidfile();" is common pattern
used by many services and even in library functions.

It may be common, but not necessarily correct. The parent process should
only exit *after* finishing all the preparations (i.e. something like
"fork(); write_pidfile(); exit()"), since systemd uses the exit as a signal
that the daemon is now "ready".

You are joking? Why you think that this pattern is not correct?

common sense

Is any systemd documentations exists, which requires from daemons
write pidfile of daemon process before exiting the parent process?

Does you see daemon() function from The GNU C Library (glibc)?
It exits from parent process immediately, without writing pid file.
Probably you should first fix function daemon() from glibc to meet systemd requirements? And after this - rewrite all existing daemons?

well, if you want to tell the main-pid to systemd it's logical that there must be a defined point when that file exists, in most cases you don't need the PID stuff at all as i have explained multiple times

if you want so the daemon needs to write the pid file before telling systemd "i am ready"
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to