]> git.kaiwu.me - nginx.git/commitdiff
move listen log copying from ngx_open_listening_sockets()
authorIgor Sysoev <igor@sysoev.ru>
Tue, 5 May 2009 13:16:29 +0000 (13:16 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 5 May 2009 13:16:29 +0000 (13:16 +0000)
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

src/core/ngx_connection.c

index b843b866ba0179a8435e27f68ccc05b79229280c..5dd1b7e230c5a893075e53f67f746c7aa0d4b996 100644 (file)
@@ -202,8 +202,6 @@ ngx_open_listening_sockets(ngx_cycle_t *cycle)
                 continue;
             }
 
-            ls[i].log = *ls[i].logp;
-
             if (ls[i].inherited) {
 
                 /* TODO: close on exit */
@@ -357,6 +355,8 @@ ngx_configure_listening_sockets(ngx_cycle_t *cycle)
     ls = cycle->listening.elts;
     for (i = 0; i < cycle->listening.nelts; i++) {
 
+        ls[i].log = *ls[i].logp;
+
         if (ls[i].rcvbuf != -1) {
             if (setsockopt(ls[i].fd, SOL_SOCKET, SO_RCVBUF,
                            (const void *) &ls[i].rcvbuf, sizeof(int))