Quick successive reload makes "bind () xxxx failed, Address already in use" error

tokers zchao1995 at gmail.com
Wed Jan 24 07:18:11 UTC 2018


Hello!

> I have a script runs two successive reloads, the first one is to remove a
listen port from the stream block, and the second one is to add the same
port back to the stream block. It is observed that > most time the script
would run into "bind() xxxx failed, Address already in use" error. After
putting a sleep 1 in between these two reloads I never get that error
again.

How does you send “reload” command? Through the nginx -s reload or sending
signal to the master process directly?

> So I guess the listening socket was not released in the time the second
reload was issued?

> How the listening socket is getting released during reload?

The old unnecessary listening sockets will be closed after nginx master
process opens the new listening sockets.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx/attachments/20180124/18affaee/attachment.html>


More information about the nginx mailing list