<div dir="ltr">The nginx will add timer, the handler is as follows. The c[i].read->handler is not processing the 'close' and 'error' flag?<div><br></div><div>```</div><div><div>static void</div><div>ngx_shutdown_timer_handler(ngx_event_t *ev)</div><div>{</div><div> ngx_uint_t i;</div><div> ngx_cycle_t *cycle;</div><div> ngx_connection_t *c;</div><div><br></div><div> cycle = ev->data;</div><div><br></div><div> c = cycle->connections;</div><div><br></div><div> for (i = 0; i < cycle->connection_n; i++) {</div><div><br></div><div> if (c[i].fd == (ngx_socket_t) -1</div><div> || c[i].read == NULL</div><div> || c[i].read->accept</div><div> || c[i].read->channel</div><div> || c[i].read->resolver)</div><div> {</div><div> continue;</div><div> }</div><div><br></div><div> ngx_log_debug1(NGX_LOG_DEBUG_CORE, ev->log, 0,</div><div> "*%uA shutdown timeout", c[i].number);</div><div><br></div><div> c[i].close = 1;</div><div> c[i].error = 1;</div><div><br></div><div> c[i].read->handler(c[i].read);</div><div> }</div><div>}</div></div><div><br></div><div>```</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-11-10 17:08 GMT+08:00 Vis Lee <span dir="ltr"><<a href="mailto:lazyvislee@gmail.com" target="_blank">lazyvislee@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>Hi,</div><div><br></div><div><br></div><div><div>The nginx is http proxy. when I use upgrade websocket and send heartbeat per 5s(client_body_timeout 6s;) the directives "worker_shutdown_timeout" is invalid, the "worker process is shutting down" produced by nginx -s reload is running all the time.</div><div><br></div><div>How should I do?</div></div><div><br></div><div><pre style="white-space:pre-wrap;color:rgb(0,0,0)">Regards,</pre><pre style="white-space:pre-wrap;color:rgb(0,0,0)">leevis</pre></div></div>
</blockquote></div><br></div>