comparison src/core/ngx_connection.c @ 3537:d2848db4d98e

fix IPv6 and Unix domain sockets inheritance while online upgrade
author Igor Sysoev <igor@sysoev.ru>
date Mon, 31 May 2010 14:49:11 +0000
parents 102fdc22de4d
children 4430d110293e
comparison
equal deleted inserted replaced
3536:72c3edbd4dc8 3537:d2848db4d98e
94 #endif 94 #endif
95 95
96 ls = cycle->listening.elts; 96 ls = cycle->listening.elts;
97 for (i = 0; i < cycle->listening.nelts; i++) { 97 for (i = 0; i < cycle->listening.nelts; i++) {
98 98
99 /* AF_INET only */ 99 ls[i].sockaddr = ngx_palloc(cycle->pool, NGX_SOCKADDRLEN);
100
101 ls[i].sockaddr = ngx_palloc(cycle->pool, sizeof(struct sockaddr_in));
102 if (ls[i].sockaddr == NULL) { 100 if (ls[i].sockaddr == NULL) {
103 return NGX_ERROR; 101 return NGX_ERROR;
104 } 102 }
105 103
106 ls[i].socklen = sizeof(struct sockaddr_in); 104 ls[i].socklen = NGX_SOCKADDRLEN;
107 if (getsockname(ls[i].fd, ls[i].sockaddr, &ls[i].socklen) == -1) { 105 if (getsockname(ls[i].fd, ls[i].sockaddr, &ls[i].socklen) == -1) {
108 ngx_log_error(NGX_LOG_CRIT, cycle->log, ngx_socket_errno, 106 ngx_log_error(NGX_LOG_CRIT, cycle->log, ngx_socket_errno,
109 "getsockname() of the inherited " 107 "getsockname() of the inherited "
110 "socket #%d failed", ls[i].fd); 108 "socket #%d failed", ls[i].fd);
111 ls[i].ignore = 1; 109 ls[i].ignore = 1;