Mercurial > hg > nginx
comparison src/core/nginx.c @ 32:d45effe5854c
nginx-0.0.1-2002-12-19-10:08:55 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 19 Dec 2002 07:08:55 +0000 |
parents | 53cb81681040 |
children | c14d7232b11f |
comparison
equal
deleted
inserted
replaced
31:d1ebcc555037 | 32:d45effe5854c |
---|---|
124 | 124 |
125 s = ngx_socket(ls[i].family, ls[i].type, ls[i].protocol, | 125 s = ngx_socket(ls[i].family, ls[i].type, ls[i].protocol, |
126 ls[i].flags); | 126 ls[i].flags); |
127 if (s == -1) { | 127 if (s == -1) { |
128 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 128 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |
129 ngx_socket_n " %s falied", ls[i].addr_text); | 129 ngx_socket_n " %s falied", ls[i].addr_text.data); |
130 exit(1); | 130 exit(1); |
131 } | 131 } |
132 | 132 |
133 if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, | 133 if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, |
134 (const void *) &reuseaddr, sizeof(int)) == -1) { | 134 (const void *) &reuseaddr, sizeof(int)) == -1) { |
135 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 135 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |
136 "setsockopt(SO_REUSEADDR) %s failed", | 136 "setsockopt(SO_REUSEADDR) %s failed", |
137 ls[i].addr_text); | 137 ls[i].addr_text.data); |
138 exit(1); | 138 exit(1); |
139 } | 139 } |
140 | 140 |
141 /* TODO: close on exit */ | 141 /* TODO: close on exit */ |
142 | 142 |
143 if (ls[i].nonblocking) { | 143 if (ls[i].nonblocking) { |
144 if (ngx_nonblocking(s) == -1) { | 144 if (ngx_nonblocking(s) == -1) { |
145 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 145 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |
146 ngx_nonblocking_n " %s failed", | 146 ngx_nonblocking_n " %s failed", |
147 ls[i].addr_text); | 147 ls[i].addr_text.data); |
148 exit(1); | 148 exit(1); |
149 } | 149 } |
150 } | 150 } |
151 | 151 |
152 if (bind(s, ls[i].sockaddr, ls[i].socklen) == -1) { | 152 if (bind(s, ls[i].sockaddr, ls[i].socklen) == -1) { |
153 err = ngx_socket_errno; | 153 err = ngx_socket_errno; |
154 ngx_log_error(NGX_LOG_EMERG, log, err, | 154 ngx_log_error(NGX_LOG_EMERG, log, err, |
155 "bind() to %s failed", ls[i].addr_text); | 155 "bind() to %s failed", ls[i].addr_text.data); |
156 | 156 |
157 if (err != NGX_EADDRINUSE) | 157 if (err != NGX_EADDRINUSE) |
158 exit(1); | 158 exit(1); |
159 | 159 |
160 if (ngx_close_socket(s) == -1) | 160 if (ngx_close_socket(s) == -1) |
161 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 161 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |
162 ngx_close_socket_n " %s failed", | 162 ngx_close_socket_n " %s failed", |
163 ls[i].addr_text); | 163 ls[i].addr_text.data); |
164 | 164 |
165 failed = 1; | 165 failed = 1; |
166 continue; | 166 continue; |
167 } | 167 } |
168 | 168 |
169 if (listen(s, ls[i].backlog) == -1) { | 169 if (listen(s, ls[i].backlog) == -1) { |
170 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 170 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |
171 "listen() to %s failed", ls[i].addr_text); | 171 "listen() to %s failed", ls[i].addr_text.data); |
172 exit(1); | 172 exit(1); |
173 } | 173 } |
174 | 174 |
175 /* TODO: deferred accept */ | 175 /* TODO: deferred accept */ |
176 | 176 |