mirror of
https://github.com/nginx/nginx.git
synced 2025-06-07 17:52:38 +08:00
use variable for often used field
This commit is contained in:
parent
fed1ca0dc7
commit
9b4a1d0094
@ -15,9 +15,11 @@ static void ngx_close_posted_connection(ngx_connection_t *c);
|
|||||||
void
|
void
|
||||||
ngx_event_acceptex(ngx_event_t *rev)
|
ngx_event_acceptex(ngx_event_t *rev)
|
||||||
{
|
{
|
||||||
|
ngx_listening_t *ls;
|
||||||
ngx_connection_t *c;
|
ngx_connection_t *c;
|
||||||
|
|
||||||
c = rev->data;
|
c = rev->data;
|
||||||
|
ls = c->listening;
|
||||||
|
|
||||||
c->log->handler = ngx_accept_log_error;
|
c->log->handler = ngx_accept_log_error;
|
||||||
|
|
||||||
@ -25,14 +27,14 @@ ngx_event_acceptex(ngx_event_t *rev)
|
|||||||
|
|
||||||
if (rev->ovlp.error) {
|
if (rev->ovlp.error) {
|
||||||
ngx_log_error(NGX_LOG_CRIT, c->log, rev->ovlp.error,
|
ngx_log_error(NGX_LOG_CRIT, c->log, rev->ovlp.error,
|
||||||
"AcceptEx() %V failed", &c->listening->addr_text);
|
"AcceptEx() %V failed", &ls->addr_text);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown() to work */
|
/* SO_UPDATE_ACCEPT_CONTEXT is required for shutdown() to work */
|
||||||
|
|
||||||
if (setsockopt(c->fd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT,
|
if (setsockopt(c->fd, SOL_SOCKET, SO_UPDATE_ACCEPT_CONTEXT,
|
||||||
(char *) &c->listening->fd, sizeof(ngx_socket_t))
|
(char *) &ls->fd, sizeof(ngx_socket_t))
|
||||||
== -1)
|
== -1)
|
||||||
{
|
{
|
||||||
ngx_log_error(NGX_LOG_CRIT, c->log, ngx_socket_errno,
|
ngx_log_error(NGX_LOG_CRIT, c->log, ngx_socket_errno,
|
||||||
@ -43,41 +45,40 @@ ngx_event_acceptex(ngx_event_t *rev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ngx_getacceptexsockaddrs(c->buffer->pos,
|
ngx_getacceptexsockaddrs(c->buffer->pos,
|
||||||
c->listening->post_accept_buffer_size,
|
ls->post_accept_buffer_size,
|
||||||
c->listening->socklen + 16,
|
ls->socklen + 16,
|
||||||
c->listening->socklen + 16,
|
ls->socklen + 16,
|
||||||
&c->local_sockaddr, &c->local_socklen,
|
&c->local_sockaddr, &c->local_socklen,
|
||||||
&c->sockaddr, &c->socklen);
|
&c->sockaddr, &c->socklen);
|
||||||
|
|
||||||
if (c->listening->post_accept_buffer_size) {
|
if (ls->post_accept_buffer_size) {
|
||||||
c->buffer->last += rev->available;
|
c->buffer->last += rev->available;
|
||||||
c->buffer->end = c->buffer->start
|
c->buffer->end = c->buffer->start + ls->post_accept_buffer_size;
|
||||||
+ c->listening->post_accept_buffer_size;
|
|
||||||
} else {
|
} else {
|
||||||
c->buffer = NULL;
|
c->buffer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c->listening->addr_ntop) {
|
if (ls->addr_ntop) {
|
||||||
c->addr_text.data = ngx_pnalloc(c->pool,
|
c->addr_text.data = ngx_pnalloc(c->pool, ls->addr_text_max_len);
|
||||||
c->listening->addr_text_max_len);
|
|
||||||
if (c->addr_text.data == NULL) {
|
if (c->addr_text.data == NULL) {
|
||||||
/* TODO: close socket */
|
/* TODO: close socket */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
c->addr_text.len = ngx_sock_ntop(c->sockaddr, c->addr_text.data,
|
c->addr_text.len = ngx_sock_ntop(c->sockaddr, c->addr_text.data,
|
||||||
c->listening->addr_text_max_len, 0);
|
ls->addr_text_max_len, 0);
|
||||||
if (c->addr_text.len == 0) {
|
if (c->addr_text.len == 0) {
|
||||||
/* TODO: close socket */
|
/* TODO: close socket */
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ngx_event_post_acceptex(c->listening, 1);
|
ngx_event_post_acceptex(ls, 1);
|
||||||
|
|
||||||
c->number = ngx_atomic_fetch_add(ngx_connection_counter, 1);
|
c->number = ngx_atomic_fetch_add(ngx_connection_counter, 1);
|
||||||
|
|
||||||
c->listening->handler(c);
|
ls->handler(c);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user