Upgrading Executable on the Fly - wrong docs?

piotr.dobrogost nginx-forum at nginx.us
Tue Feb 12 20:01:39 UTC 2013

Ruslan, thanks for quick reply.

I have some trouble comparing the new wording with the previous one as it
looks like your change went live at http://nginx.org/en/docs/control.html so
I do not have the old one to compare any more :)

Neverthless I have some more comments on the new (current) one.

I think an error sneaked into the new version. The first bullet is now
"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 old master process."
I think it should have been "(...) by sending the QUIT signal to the new
master process." instead.

What I don't understand is why the old master process does not re-read the
configuration after receiving the HUP signal as at the top of the page it's
HUP (...), starting new worker processes with a new configuration, (...)
If the reason is because it had received the USR2 signal at the beginning of
the whole procedure and this changed its state (it "remembers" receiving the
USR2 signal) it should be explained.

Also, maybe I'm missing something but I think that the two bullets are not
symmetrical without a reason. In the first bullet the QUIT signal is used
whereas in the second bullet the TERM signal is used. I believe either of
them could be used with the obvious difference of fast vs graceful shutdown.
If it's true (either could be used) then using different signals between the
first and the second bullet is misleading.

Additionaly I have a question regarding the following fragment:
"In order to upgrade the server executable, the new executable file should
be put in place of an old file first. After that USR2 signal should be sent
to the master process. The master process first renames its file (...)
How can the master process rename its file if this file is already gone i.e.
it had been replaced by the new executable?


Posted at Nginx Forum: http://forum.nginx.org/read.php?2,236047,236164#msg-236164

More information about the nginx mailing list