]> git.kaiwu.me - nginx.git/commitdiff
fix r3225: it overrode the listen options by default server default options
authorIgor Sysoev <igor@sysoev.ru>
Thu, 22 Oct 2009 08:14:02 +0000 (08:14 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Thu, 22 Oct 2009 08:14:02 +0000 (08:14 +0000)
src/http/ngx_http.c

index 44166a4c1a32482b5087a8399dabddf5e821993d..e5387c4c3fb38234839c6affb9627b19023fac7e 100644 (file)
@@ -1209,10 +1209,15 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
             return NGX_ERROR;
         }
 
-        if (lsopt->set && addr[i].opt.set) {
-            ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+        if (lsopt->set) {
+
+            if (addr[i].opt.set) {
+                ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
                         "a duplicate listen options for %s", addr[i].opt.addr);
-            return NGX_ERROR;
+                return NGX_ERROR;
+            }
+
+            addr[i].opt = *lsopt;
         }
 
         /* check the duplicate "default" server for this address:port */
@@ -1225,7 +1230,6 @@ ngx_http_add_addresses(ngx_conf_t *cf, ngx_http_core_srv_conf_t *cscf,
                 return NGX_ERROR;
             }
 
-            addr[i].opt = *lsopt;
             addr[i].default_server = cscf;
         }