aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/http/ngx_http.c')
-rw-r--r--src/http/ngx_http.c42
1 files changed, 1 insertions, 41 deletions
diff --git a/src/http/ngx_http.c b/src/http/ngx_http.c
index 5e487e75c..a9b4ee5c5 100644
--- a/src/http/ngx_http.c
+++ b/src/http/ngx_http.c
@@ -1688,54 +1688,14 @@ static ngx_listening_t *
ngx_http_add_listening(ngx_conf_t *cf, ngx_http_conf_addr_t *addr)
{
ngx_listening_t *ls;
- struct sockaddr *sa;
ngx_http_core_loc_conf_t *clcf;
ngx_http_core_srv_conf_t *cscf;
- u_char text[NGX_SOCKADDR_STRLEN];
- ls = ngx_array_push(&cf->cycle->listening);
+ ls = ngx_create_listening(cf, addr->sockaddr, addr->socklen);
if (ls == NULL) {
return NULL;
}
- ngx_memzero(ls, sizeof(ngx_listening_t));
-
- sa = ngx_palloc(cf->pool, addr->socklen);
- if (sa == NULL) {
- return NULL;
- }
-
- ngx_memcpy(sa, addr->sockaddr, addr->socklen);
-
- ls->sockaddr = sa;
- ls->socklen = addr->socklen;
-
- ls->addr_text.len = ngx_sock_ntop(sa, text, NGX_SOCKADDR_STRLEN, 1);
-
- ls->addr_text.data = ngx_pnalloc(cf->pool, ls->addr_text.len);
- if (ls->addr_text.data == NULL) {
- return NULL;
- }
-
- ngx_memcpy(ls->addr_text.data, text, ls->addr_text.len);
-
- ls->fd = (ngx_socket_t) -1;
- ls->type = SOCK_STREAM;
-
- switch (ls->sockaddr->sa_family) {
-#if (NGX_HAVE_INET6)
- case AF_INET6:
- ls->addr_text_max_len = NGX_INET6_ADDRSTRLEN;
- break;
-#endif
- case AF_INET:
- ls->addr_text_max_len = NGX_INET_ADDRSTRLEN;
- break;
- default:
- ls->addr_text_max_len = NGX_SOCKADDR_STRLEN;
- break;
- }
-
ls->addr_ntop = 1;
ls->handler = ngx_http_init_connection;