--------

This is my attempt to solve all, or at least many, of the issues
related to errors during startup.

Normal daemonize() immediately throws the original process away
after detaching the demonized process.

Now we keep the original "daemonize" process around, so that it can
exit(3) suitably based on what the detached (= varnishd master)
process finds out.

Ideally we should wait for even more conclusive evidence of the
child process running, but I am not quite sure what the evidence
should be ?  uptime > 0 ?  First request handled ?  (Ideas welcome...)

It's going to be bear to write test-cases for this, so I would
really appreciate it if some of you could spend half an hour stressing
it manually.

See also tickets 2141 & 2041, 

>commit 1f45a46516ec265fd983d8a2fca5f97deed96fc6
>Author: Poul-Henning Kamp <p...@freebsd.org>
>Date:   Thu Dec 22 22:14:58 2016 +0000
>
>    Turn daemonize() inside out, and don't let the original process
>    die until we have started the child process.

-- 
Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
p...@freebsd.org         | TCP/IP since RFC 956
FreeBSD committer       | BSD since 4.3-tahoe    
Never attribute to malice what can adequately be explained by incompetence.

_______________________________________________
varnish-dev mailing list
varnish-dev@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-dev

Reply via email to