Mercurial > hg > nginx-quic
comparison src/core/ngx_conf_file.c @ 543:511a89da35ad release-0.2.0
nginx-0.2.0-RELEASE import
*) The pid-file names used during online upgrade was changed and now is
not required a manual rename operation. The old master process adds
the ".oldbin" suffix to its pid-file and executes a new binary file.
The new master process creates usual pid-file without the ".newbin"
suffix. If the master process exits, then old master process renames
back its pid-file with the ".oldbin" suffix to the pid-file without
suffix.
*) Change: the "worker_connections" directive, new name of the
"connections" directive; now the directive specifies maximum number
of connections, but not maximum socket descriptor number.
*) Feature: SSL supports the session cache inside one worker process.
*) Feature: the "satisfy_any" directive.
*) Change: the ngx_http_access_module and ngx_http_auth_basic_module do
not run for subrequests.
*) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending"
directives.
*) Bugfix: if all backend using in load-balancing failed after one
error, then nginx did not try do connect to them during 60 seconds.
*) Bugfix: in IMAP/POP3 command argument parsing.
Thanks to Rob Mueller.
*) Bugfix: errors while using SSL in IMAP/POP3 proxy.
*) Bugfix: errors while using SSI and gzipping.
*) Bugfix: the "Expires" and "Cache-Control" header lines were omitted
from the 304 responses.
Thanks to Alexandr Kukushkin.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 23 Sep 2005 11:02:22 +0000 |
parents | b09ee85d0ac8 |
children | e48ebafc6939 |
comparison
equal
deleted
inserted
replaced
542:3a7cecdbb994 | 543:511a89da35ad |
---|---|
60 ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) | 60 ngx_conf_parse(ngx_conf_t *cf, ngx_str_t *filename) |
61 { | 61 { |
62 char *rv; | 62 char *rv; |
63 ngx_fd_t fd; | 63 ngx_fd_t fd; |
64 ngx_int_t rc; | 64 ngx_int_t rc; |
65 ngx_uint_t block; | |
65 ngx_conf_file_t *prev; | 66 ngx_conf_file_t *prev; |
66 | 67 |
67 #if (NGX_SUPPRESS_WARN) | 68 #if (NGX_SUPPRESS_WARN) |
68 fd = NGX_INVALID_FILE; | 69 fd = NGX_INVALID_FILE; |
69 prev = NULL; | 70 prev = NULL; |
101 cf->conf_file->file.name.len = filename->len; | 102 cf->conf_file->file.name.len = filename->len; |
102 cf->conf_file->file.name.data = filename->data; | 103 cf->conf_file->file.name.data = filename->data; |
103 cf->conf_file->file.offset = 0; | 104 cf->conf_file->file.offset = 0; |
104 cf->conf_file->file.log = cf->log;; | 105 cf->conf_file->file.log = cf->log;; |
105 cf->conf_file->line = 1; | 106 cf->conf_file->line = 1; |
106 } | 107 |
108 block = 0; | |
109 | |
110 } else { | |
111 block = 1; | |
112 } | |
113 | |
107 | 114 |
108 for ( ;; ) { | 115 for ( ;; ) { |
109 rc = ngx_conf_read_token(cf); | 116 rc = ngx_conf_read_token(cf); |
110 | 117 |
111 /* | 118 /* |
112 * ngx_conf_read_token() may return | 119 * ngx_conf_read_token() may return |
120 * | |
113 * NGX_ERROR there is error | 121 * NGX_ERROR there is error |
114 * NGX_OK the token terminated by ";" was found | 122 * NGX_OK the token terminated by ";" was found |
115 * NGX_CONF_BLOCK_START the token terminated by "{" was found | 123 * NGX_CONF_BLOCK_START the token terminated by "{" was found |
116 * NGX_CONF_BLOCK_DONE the "}" was found | 124 * NGX_CONF_BLOCK_DONE the "}" was found |
117 * NGX_CONF_FILE_DONE the configuration file is done | 125 * NGX_CONF_FILE_DONE the configuration file is done |
118 */ | 126 */ |
119 | 127 |
120 if (rc == NGX_ERROR) { | 128 if (rc == NGX_ERROR) { |
129 break; | |
130 } | |
131 | |
132 if (rc == NGX_CONF_BLOCK_DONE) { | |
133 block = 0; | |
134 } | |
135 | |
136 if (rc == NGX_CONF_FILE_DONE && block) { | |
137 ngx_log_error(NGX_LOG_EMERG, cf->log, 0, | |
138 "unexpected end of file in %s:%ui, expecting \"}\"", | |
139 cf->conf_file->file.name.data, | |
140 cf->conf_file->line); | |
141 rc = NGX_ERROR; | |
121 break; | 142 break; |
122 } | 143 } |
123 | 144 |
124 if (rc != NGX_OK && rc != NGX_CONF_BLOCK_START) { | 145 if (rc != NGX_OK && rc != NGX_CONF_BLOCK_START) { |
125 break; | 146 break; |
637 | 658 |
638 old = *name; | 659 old = *name; |
639 | 660 |
640 name->len = cycle->root.len + old.len; | 661 name->len = cycle->root.len + old.len; |
641 | 662 |
642 if (cycle->connections) { | 663 if (cycle->connections0) { |
643 name->data = ngx_palloc(cycle->pool, name->len + 1); | 664 name->data = ngx_palloc(cycle->pool, name->len + 1); |
644 if (name->data == NULL) { | 665 if (name->data == NULL) { |
645 return NGX_ERROR; | 666 return NGX_ERROR; |
646 } | 667 } |
647 | 668 |