Mercurial > hg > nginx
comparison src/core/ngx_connection.c @ 2803:60758ab4e5f4
move listen log copying from ngx_open_listening_sockets()
to ngx_configure_listening_sockets(), otherwise listen socket logs have no file
after first reload and this caused segfault if debug_connection was used;
the bug has been introduced in r2786
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 05 May 2009 13:16:29 +0000 |
parents | 44b2081c015a |
children | a445bd4eb571 |
comparison
equal
deleted
inserted
replaced
2802:44b2081c015a | 2803:60758ab4e5f4 |
---|---|
200 | 200 |
201 if (ls[i].fd != -1) { | 201 if (ls[i].fd != -1) { |
202 continue; | 202 continue; |
203 } | 203 } |
204 | 204 |
205 ls[i].log = *ls[i].logp; | |
206 | |
207 if (ls[i].inherited) { | 205 if (ls[i].inherited) { |
208 | 206 |
209 /* TODO: close on exit */ | 207 /* TODO: close on exit */ |
210 /* TODO: nonblocking */ | 208 /* TODO: nonblocking */ |
211 /* TODO: deferred accept */ | 209 /* TODO: deferred accept */ |
354 int timeout; | 352 int timeout; |
355 #endif | 353 #endif |
356 | 354 |
357 ls = cycle->listening.elts; | 355 ls = cycle->listening.elts; |
358 for (i = 0; i < cycle->listening.nelts; i++) { | 356 for (i = 0; i < cycle->listening.nelts; i++) { |
357 | |
358 ls[i].log = *ls[i].logp; | |
359 | 359 |
360 if (ls[i].rcvbuf != -1) { | 360 if (ls[i].rcvbuf != -1) { |
361 if (setsockopt(ls[i].fd, SOL_SOCKET, SO_RCVBUF, | 361 if (setsockopt(ls[i].fd, SOL_SOCKET, SO_RCVBUF, |
362 (const void *) &ls[i].rcvbuf, sizeof(int)) | 362 (const void *) &ls[i].rcvbuf, sizeof(int)) |
363 == -1) | 363 == -1) |