Hello! On Wed, Jun 29, 2016 at 07:04:48PM +0200, B.R. wrote:
> Kind of basic question about nginx behavior here. > > On the docs page http://nginx.org/en/docs/control.html, it is said : > > > HUP -> changing configuration, keeping up with a changed time zone (only > > for FreeBSD and Linux), starting new worker processes with a new > > configuration, graceful shutdown of old worker processes > > This is exact since the HUP signal is used to reload configuration and > spawn new workers with it. > > However, a little bit further on the same page, in the on-the-fly upgrade > section, you got: > > > Send the HUP signal to the old master process. The old master process will > > start new worker processes without re-reading the configuration. After > > that, all new processes can be shut down gracefully, by sending the QUIT > > signal to the new master process. > > Is this behavior due to the USR2 signal previously sent, the old master > knowing it is the old one (and thus knowing it should avoid loading an > improper configuration suitable for another version)? Yes. The old master knows it previously started a new master, and on the HUP signal it just starts new workers (if the new master is still running). If/when the old master exits, the old master is notified about this, and starts to work normally. Additional details can be found in src/os/unix/ngx_process_cycle.c: http://hg.nginx.org/nginx/file/tip/src/os/unix/ngx_process_cycle.c#l220 -- Maxim Dounin http://nginx.org/ _______________________________________________ nginx mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx
