Latest update - 7665
This commit is contained in:
@@ -492,6 +492,7 @@ ngx_add_inherited_sockets(ngx_cycle_t *cycle)
|
|||||||
ngx_memzero(ls, sizeof(ngx_listening_t));
|
ngx_memzero(ls, sizeof(ngx_listening_t));
|
||||||
|
|
||||||
ls->fd = (ngx_socket_t) s;
|
ls->fd = (ngx_socket_t) s;
|
||||||
|
ls->inherited = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1070,7 +1070,8 @@ ngx_close_listening_sockets(ngx_cycle_t *cycle)
|
|||||||
|
|
||||||
if (ls[i].sockaddr->sa_family == AF_UNIX
|
if (ls[i].sockaddr->sa_family == AF_UNIX
|
||||||
&& ngx_process <= NGX_PROCESS_MASTER
|
&& ngx_process <= NGX_PROCESS_MASTER
|
||||||
&& ngx_new_binary == 0)
|
&& ngx_new_binary == 0
|
||||||
|
&& (!ls[i].inherited || ngx_getppid() != ngx_parent))
|
||||||
{
|
{
|
||||||
u_char *name = ls[i].addr_text.data + sizeof("unix:") - 1;
|
u_char *name = ls[i].addr_text.data + sizeof("unix:") - 1;
|
||||||
|
|
||||||
|
|||||||
@@ -520,6 +520,7 @@ ngx_init_cycle(ngx_cycle_t *old_cycle)
|
|||||||
== NGX_OK)
|
== NGX_OK)
|
||||||
{
|
{
|
||||||
nls[n].fd = ls[i].fd;
|
nls[n].fd = ls[i].fd;
|
||||||
|
nls[n].inherited = ls[i].inherited;
|
||||||
nls[n].previous = &ls[i];
|
nls[n].previous = &ls[i];
|
||||||
ls[i].remain = 1;
|
ls[i].remain = 1;
|
||||||
|
|
||||||
|
|||||||
@@ -928,6 +928,8 @@ ngx_int_t
|
|||||||
ngx_ssl_trusted_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
|
ngx_ssl_trusted_certificate(ngx_conf_t *cf, ngx_ssl_t *ssl, ngx_str_t *cert,
|
||||||
ngx_int_t depth)
|
ngx_int_t depth)
|
||||||
{
|
{
|
||||||
|
SSL_CTX_set_verify(ssl->ctx, SSL_VERIFY_PEER, ngx_ssl_verify_callback);
|
||||||
|
|
||||||
SSL_CTX_set_verify_depth(ssl->ctx, depth);
|
SSL_CTX_set_verify_depth(ssl->ctx, depth);
|
||||||
|
|
||||||
if (cert->len == 0) {
|
if (cert->len == 0) {
|
||||||
|
|||||||
@@ -77,12 +77,11 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
|
|||||||
u_char *p;
|
u_char *p;
|
||||||
size_t size;
|
size_t size;
|
||||||
ngx_int_t i;
|
ngx_int_t i;
|
||||||
ngx_uint_t n, sigio;
|
ngx_uint_t sigio;
|
||||||
sigset_t set;
|
sigset_t set;
|
||||||
struct itimerval itv;
|
struct itimerval itv;
|
||||||
ngx_uint_t live;
|
ngx_uint_t live;
|
||||||
ngx_msec_t delay;
|
ngx_msec_t delay;
|
||||||
ngx_listening_t *ls;
|
|
||||||
ngx_core_conf_t *ccf;
|
ngx_core_conf_t *ccf;
|
||||||
|
|
||||||
sigemptyset(&set);
|
sigemptyset(&set);
|
||||||
@@ -204,16 +203,7 @@ ngx_master_process_cycle(ngx_cycle_t *cycle)
|
|||||||
if (ngx_quit) {
|
if (ngx_quit) {
|
||||||
ngx_signal_worker_processes(cycle,
|
ngx_signal_worker_processes(cycle,
|
||||||
ngx_signal_value(NGX_SHUTDOWN_SIGNAL));
|
ngx_signal_value(NGX_SHUTDOWN_SIGNAL));
|
||||||
|
ngx_close_listening_sockets(cycle);
|
||||||
ls = cycle->listening.elts;
|
|
||||||
for (n = 0; n < cycle->listening.nelts; n++) {
|
|
||||||
if (ngx_close_socket(ls[n].fd) == -1) {
|
|
||||||
ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_socket_errno,
|
|
||||||
ngx_close_socket_n " %V failed",
|
|
||||||
&ls[n].addr_text);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
cycle->listening.nelts = 0;
|
|
||||||
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -189,6 +189,13 @@ ngx_udp_output_chain_to_iovec(ngx_iovec_t *vec, ngx_chain_t *in, ngx_log_t *log)
|
|||||||
return cl;
|
return cl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* zero-sized datagram; pretend to have at least 1 iov */
|
||||||
|
if (n == 0) {
|
||||||
|
iov = &vec->iovs[n++];
|
||||||
|
iov->iov_base = NULL;
|
||||||
|
iov->iov_len = 0;
|
||||||
|
}
|
||||||
|
|
||||||
vec->count = n;
|
vec->count = n;
|
||||||
vec->size = total;
|
vec->size = total;
|
||||||
|
|
||||||
|
|||||||
@@ -839,7 +839,7 @@ ngx_stream_proxy_init_upstream(ngx_stream_session_t *s)
|
|||||||
u->upstream_buf.last = p;
|
u->upstream_buf.last = p;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c->buffer && c->buffer->pos < c->buffer->last) {
|
if (c->buffer && c->buffer->pos <= c->buffer->last) {
|
||||||
ngx_log_debug1(NGX_LOG_DEBUG_STREAM, c->log, 0,
|
ngx_log_debug1(NGX_LOG_DEBUG_STREAM, c->log, 0,
|
||||||
"stream proxy add preread buffer: %uz",
|
"stream proxy add preread buffer: %uz",
|
||||||
c->buffer->last - c->buffer->pos);
|
c->buffer->last - c->buffer->pos);
|
||||||
@@ -853,6 +853,7 @@ ngx_stream_proxy_init_upstream(ngx_stream_session_t *s)
|
|||||||
*cl->buf = *c->buffer;
|
*cl->buf = *c->buffer;
|
||||||
|
|
||||||
cl->buf->tag = (ngx_buf_tag_t) &ngx_stream_proxy_module;
|
cl->buf->tag = (ngx_buf_tag_t) &ngx_stream_proxy_module;
|
||||||
|
cl->buf->temporary = (cl->buf->pos == cl->buf->last) ? 0 : 1;
|
||||||
cl->buf->flush = 1;
|
cl->buf->flush = 1;
|
||||||
|
|
||||||
cl->next = u->upstream_out;
|
cl->next = u->upstream_out;
|
||||||
|
|||||||
@@ -234,7 +234,8 @@ ngx_stream_write_filter(ngx_stream_session_t *s, ngx_chain_t *in,
|
|||||||
|
|
||||||
if (size == 0
|
if (size == 0
|
||||||
&& !(c->buffered & NGX_LOWLEVEL_BUFFERED)
|
&& !(c->buffered & NGX_LOWLEVEL_BUFFERED)
|
||||||
&& !(last && c->need_last_buf))
|
&& !(last && c->need_last_buf)
|
||||||
|
&& !(c->type == SOCK_DGRAM && flush))
|
||||||
{
|
{
|
||||||
if (last || flush || sync) {
|
if (last || flush || sync) {
|
||||||
for (cl = *out; cl; /* void */) {
|
for (cl = *out; cl; /* void */) {
|
||||||
|
|||||||
Reference in New Issue
Block a user