Mercurial > hg > nginx
comparison src/os/win32/ngx_process_cycle.c @ 509:9b8c906f6e63 release-0.1.29
nginx-0.1.29-RELEASE import
*) Feature: the ngx_http_ssi_module supports "include virtual" command.
*) Feature: the ngx_http_ssi_module supports the condition command like
'if expr="$NAME"' and "else" and "endif" commands. Only one nested
level is supported.
*) Feature: the ngx_http_ssi_module supports the DATE_LOCAL and
DATE_GMT variables and "config timefmt" command.
*) Feature: the "ssi_ignore_recycled_buffers" directive.
*) Bugfix: the "echo" command did not show the default value for the
empty QUERY_STRING variable.
*) Change: the ngx_http_proxy_module was rewritten.
*) Feature: the "proxy_redirect", "proxy_pass_request_headers",
"proxy_pass_request_body", and "proxy_method" directives.
*) Feature: the "proxy_set_header" directive. The "proxy_x_var" was
canceled and must be replaced with the proxy_set_header directive.
*) Change: the "proxy_preserve_host" is canceled and must be replaced
with the "proxy_set_header Host $host" and the "proxy_redirect off"
directives, the "proxy_set_header Host $host:$proxy_port" directive
and the appropriate proxy_redirect directives.
*) Change: the "proxy_set_x_real_ip" is canceled and must be replaced
with the "proxy_set_header X-Real-IP $remote_addr" directive.
*) Change: the "proxy_add_x_forwarded_for" is canceled and must be
replaced with
the "proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for"
directive.
*) Change: the "proxy_set_x_url" is canceled and must be replaced with
the "proxy_set_header X-URL http://$host:$server_port$request_uri"
directive.
*) Feature: the "fastcgi_param" directive.
*) Change: the "fastcgi_root", "fastcgi_set_var" and "fastcgi_params"
directive are canceled and must be replaced with the fastcgi_param
directives.
*) Feature: the "index" directive can use the variables.
*) Feature: the "index" directive can be used at http and server levels.
*) Change: the last index only in the "index" directive can be absolute.
*) Feature: the "rewrite" directive can use the variables.
*) Feature: the "internal" directive.
*) Feature: the CONTENT_LENGTH, CONTENT_TYPE, REMOTE_PORT, SERVER_ADDR,
SERVER_PORT, SERVER_PROTOCOL, DOCUMENT_ROOT, SERVER_NAME,
REQUEST_METHOD, REQUEST_URI, and REMOTE_USER variables.
*) Change: nginx now passes the invalid lines in a client request
headers or a backend response header.
*) Bugfix: if the backend did not transfer response for a long time and
the "send_timeout" was less than "proxy_read_timeout", then nginx
returned the 408 response.
*) Bugfix: the segmentation fault was occurred if the backend sent an
invalid line in response header; the bug had appeared in 0.1.26.
*) Bugfix: the segmentation fault may occurred in FastCGI fault
tolerance configuration.
*) Bugfix: the "expires" directive did not remove the previous
"Expires" and "Cache-Control" headers.
*) Bugfix: nginx did not take into account trailing dot in "Host"
header line.
*) Bugfix: the ngx_http_auth_module did not work under Linux.
*) Bugfix: the rewrite directive worked incorrectly, if the arguments
were in a request.
*) Bugfix: nginx could not be built on MacOS X.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 12 May 2005 14:58:06 +0000 |
parents | d4ea69372b94 |
children | 9c2f3ed7a247 |
comparison
equal
deleted
inserted
replaced
508:ca1020ce99ba | 509:9b8c906f6e63 |
---|---|
10 #include <nginx.h> | 10 #include <nginx.h> |
11 | 11 |
12 | 12 |
13 static void *ngx_worker_thread_cycle(void *data); | 13 static void *ngx_worker_thread_cycle(void *data); |
14 static long __stdcall ngx_window_procedure(HWND window, u_int message, | 14 static long __stdcall ngx_window_procedure(HWND window, u_int message, |
15 u_int wparam, long lparam); | 15 u_int wparam, long lparam); |
16 | 16 |
17 #if 0 | 17 #if 0 |
18 ngx_pid_t ngx_new_binary; | 18 ngx_pid_t ngx_new_binary; |
19 | 19 |
20 sig_atomic_t ngx_reap; | 20 sig_atomic_t ngx_reap; |
43 | 43 |
44 | 44 |
45 static HMENU ngx_menu; | 45 static HMENU ngx_menu; |
46 | 46 |
47 | 47 |
48 void ngx_master_process_cycle(ngx_cycle_t *cycle) | 48 void |
49 ngx_master_process_cycle(ngx_cycle_t *cycle) | |
49 { | 50 { |
50 ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, "master mode is not supported"); | 51 ngx_log_error(NGX_LOG_EMERG, cycle->log, 0, "master mode is not supported"); |
51 | 52 |
52 exit(2); | 53 exit(2); |
53 } | 54 } |
54 | 55 |
55 | 56 |
56 void ngx_single_process_cycle(ngx_cycle_t *cycle) | 57 void |
58 ngx_single_process_cycle(ngx_cycle_t *cycle) | |
57 { | 59 { |
58 int rc; | 60 int rc; |
59 ngx_int_t i; | 61 ngx_int_t i; |
60 ngx_err_t err; | 62 ngx_err_t err; |
61 ngx_tid_t tid; | 63 ngx_tid_t tid; |
163 exit(2); | 165 exit(2); |
164 } | 166 } |
165 | 167 |
166 | 168 |
167 if (ngx_system_tray_icon(window, NIM_ADD, tray, (u_char *) " nginx") | 169 if (ngx_system_tray_icon(window, NIM_ADD, tray, (u_char *) " nginx") |
168 == NGX_ERROR) | 170 != NGX_OK) |
169 { | 171 { |
170 ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno, | 172 ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno, |
171 "Shell_NotifyIcon(NIM_ADD) failed"); | 173 "Shell_NotifyIcon(NIM_ADD) failed"); |
172 /* fatal */ | 174 /* fatal */ |
173 exit(2); | 175 exit(2); |
198 DispatchMessage(&message); | 200 DispatchMessage(&message); |
199 } | 201 } |
200 } | 202 } |
201 | 203 |
202 | 204 |
203 static void *ngx_worker_thread_cycle(void *data) | 205 static void * |
206 ngx_worker_thread_cycle(void *data) | |
204 { | 207 { |
205 ngx_cycle_t *cycle; | 208 ngx_cycle_t *cycle; |
206 | 209 |
207 cycle = (ngx_cycle_t *) ngx_cycle; | 210 cycle = (ngx_cycle_t *) ngx_cycle; |
208 | 211 |
214 | 217 |
215 return NULL; | 218 return NULL; |
216 } | 219 } |
217 | 220 |
218 | 221 |
219 static long __stdcall ngx_window_procedure(HWND window, u_int message, | 222 static long __stdcall |
220 u_int wparam, long lparam) | 223 ngx_window_procedure(HWND window, u_int message, u_int wparam, long lparam) |
221 { | 224 { |
222 POINT mouse; | 225 POINT mouse; |
223 | 226 |
224 switch (message) { | 227 switch (message) { |
225 | 228 |
249 return 0; | 252 return 0; |
250 | 253 |
251 case WM_COMMAND: | 254 case WM_COMMAND: |
252 if (wparam == NGX_WM_ABOUT) { | 255 if (wparam == NGX_WM_ABOUT) { |
253 ngx_message_box("nginx", MB_OK, 0, | 256 ngx_message_box("nginx", MB_OK, 0, |
254 NGINX_VER CRLF "(C) 2002-2004 Igor Sysoev"); | 257 NGINX_VER CRLF "(C) 2002-2005 Igor Sysoev"); |
255 return 0; | 258 return 0; |
256 } | 259 } |
257 | 260 |
258 if (wparam == NGX_WM_EXIT) { | 261 if (wparam == NGX_WM_EXIT) { |
259 if (ngx_system_tray_icon(window, NIM_DELETE, NULL, NULL) | 262 if (ngx_system_tray_icon(window, NIM_DELETE, NULL, NULL) |
260 == NGX_ERROR) | 263 != NGX_OK) |
261 { | 264 { |
262 ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, ngx_errno, | 265 ngx_log_error(NGX_LOG_ALERT, ngx_cycle->log, ngx_errno, |
263 "Shell_NotifyIcon(NIM_DELETE) failed"); | 266 "Shell_NotifyIcon(NIM_DELETE) failed"); |
264 } | 267 } |
265 } | 268 } |