diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2005-05-12 14:58:06 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2005-05-12 14:58:06 +0000 |
| commit | 899b44eab259f32af5c6e3da342f430c654528ce (patch) | |
| tree | 23fb5dfbc9219030f9e102db5a2ce44e98c0a9d0 /src/event/modules | |
| parent | 22157ce9d570452b2d77f0fe7e510e6b0e4d05c2 (diff) | |
| download | nginx-release-0.1.29.tar.gz nginx-release-0.1.29.tar.bz2 | |
nginx-0.1.29-RELEASE importrelease-0.1.29
*) 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.
Diffstat (limited to 'src/event/modules')
| -rw-r--r-- | src/event/modules/ngx_aio_module.c | 2 | ||||
| -rw-r--r-- | src/event/modules/ngx_devpoll_module.c | 8 | ||||
| -rw-r--r-- | src/event/modules/ngx_epoll_module.c | 8 | ||||
| -rw-r--r-- | src/event/modules/ngx_iocp_module.c | 6 | ||||
| -rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 12 | ||||
| -rw-r--r-- | src/event/modules/ngx_poll_module.c | 6 | ||||
| -rw-r--r-- | src/event/modules/ngx_rtsig_module.c | 20 | ||||
| -rw-r--r-- | src/event/modules/ngx_select_module.c | 6 |
8 files changed, 37 insertions, 31 deletions
diff --git a/src/event/modules/ngx_aio_module.c b/src/event/modules/ngx_aio_module.c index 37a3a4499..37d520a96 100644 --- a/src/event/modules/ngx_aio_module.c +++ b/src/event/modules/ngx_aio_module.c @@ -54,7 +54,7 @@ ngx_event_module_t ngx_aio_module_ctx = { }; ngx_module_t ngx_aio_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_aio_module_ctx, /* module context */ NULL, /* module directives */ NGX_EVENT_MODULE, /* module type */ diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c index 57b6b1239..cab5af074 100644 --- a/src/event/modules/ngx_devpoll_module.c +++ b/src/event/modules/ngx_devpoll_module.c @@ -91,7 +91,7 @@ ngx_event_module_t ngx_devpoll_module_ctx = { }; ngx_module_t ngx_devpoll_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_devpoll_module_ctx, /* module context */ ngx_devpoll_commands, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -511,7 +511,7 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle) wev->ready = 1; if (!ngx_threaded && !ngx_accept_mutex_held) { - wev->event_handler(wev); + wev->handler(wev); } else { ngx_post_event(wev); @@ -530,7 +530,7 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle) rev->ready = 1; if (!ngx_threaded && !ngx_accept_mutex_held) { - rev->event_handler(rev); + rev->handler(rev); } else if (!rev->accept) { ngx_post_event(rev); @@ -538,7 +538,7 @@ ngx_devpoll_process_events(ngx_cycle_t *cycle) } else if (ngx_accept_disabled <= 0) { ngx_mutex_unlock(ngx_posted_events_mutex); - c->read->event_handler(rev); + c->read->handler(rev); if (ngx_accept_disabled > 0) { ngx_accept_mutex_unlock(); diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c index 14b77508c..9847e0fe4 100644 --- a/src/event/modules/ngx_epoll_module.c +++ b/src/event/modules/ngx_epoll_module.c @@ -121,7 +121,7 @@ ngx_event_module_t ngx_epoll_module_ctx = { }; ngx_module_t ngx_epoll_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_epoll_module_ctx, /* module context */ ngx_epoll_commands, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -573,7 +573,7 @@ ngx_epoll_process_events(ngx_cycle_t *cycle) wev->ready = 1; if (!ngx_accept_mutex_held) { - wev->event_handler(wev); + wev->handler(wev); } else { ngx_post_event(wev); @@ -600,7 +600,7 @@ ngx_epoll_process_events(ngx_cycle_t *cycle) rev->ready = 1; if (!ngx_threaded && !ngx_accept_mutex_held) { - rev->event_handler(rev); + rev->handler(rev); } else if (!rev->accept) { ngx_post_event(rev); @@ -609,7 +609,7 @@ ngx_epoll_process_events(ngx_cycle_t *cycle) ngx_mutex_unlock(ngx_posted_events_mutex); - rev->event_handler(rev); + rev->handler(rev); if (ngx_accept_disabled > 0) { ngx_accept_mutex_unlock(); diff --git a/src/event/modules/ngx_iocp_module.c b/src/event/modules/ngx_iocp_module.c index 0a04a209a..1bb677c63 100644 --- a/src/event/modules/ngx_iocp_module.c +++ b/src/event/modules/ngx_iocp_module.c @@ -69,7 +69,7 @@ ngx_event_module_t ngx_iocp_module_ctx = { }; ngx_module_t ngx_iocp_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_iocp_module_ctx, /* module context */ ngx_iocp_commands, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -294,9 +294,9 @@ ngx_int_t ngx_iocp_process_events(ngx_cycle_t *cycle) ev->available = bytes; ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "iocp event handler: %p", ev->event_handler); + "iocp event handler: %p", ev->handler); - ev->event_handler(ev); + ev->handler(ev); if (timer != INFINITE && delta) { ngx_event_expire_timers((ngx_msec_t) delta); diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index 14bbfaf27..713ea1a07 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -94,7 +94,7 @@ ngx_event_module_t ngx_kqueue_module_ctx = { }; ngx_module_t ngx_kqueue_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_kqueue_module_ctx, /* module context */ ngx_kqueue_commands, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -192,11 +192,13 @@ ngx_kqueue_init(ngx_cycle_t *cycle) ngx_event_actions = ngx_kqueue_module_ctx.actions; ngx_event_flags = NGX_USE_ONESHOT_EVENT +#if 1 #if (NGX_HAVE_CLEAR_EVENT) |NGX_USE_CLEAR_EVENT #else |NGX_USE_LEVEL_EVENT #endif +#endif #if (NGX_HAVE_LOWAT_EVENT) |NGX_USE_LOWAT_EVENT #endif @@ -615,6 +617,10 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle) ngx_kqueue_dump_event(ev->log, &event_list[i]); } + if (ev->oneshot) { + ev->active = 0; + } + #if (NGX_THREADS) if (ngx_threaded && !ev->accept) { @@ -663,7 +669,7 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle) } if (!ngx_threaded && !ngx_accept_mutex_held) { - ev->event_handler(ev); + ev->handler(ev); continue; } @@ -678,7 +684,7 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle) ngx_mutex_unlock(ngx_posted_events_mutex); - ev->event_handler(ev); + ev->handler(ev); if (ngx_accept_disabled > 0) { ngx_accept_mutex_unlock(); diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index c25a5611c..97ac7ccc4 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -50,7 +50,7 @@ ngx_event_module_t ngx_poll_module_ctx = { }; ngx_module_t ngx_poll_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_poll_module_ctx, /* module context */ NULL, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -536,7 +536,7 @@ ngx_poll_process_events(ngx_cycle_t *cycle) } } - ev->event_handler(ev); + ev->handler(ev); } #endif @@ -553,7 +553,7 @@ ngx_poll_process_events(ngx_cycle_t *cycle) ngx_mutex_unlock(ngx_posted_events_mutex); - ev->event_handler(ev); + ev->handler(ev); if (ngx_accept_disabled > 0) { lock = 0; diff --git a/src/event/modules/ngx_rtsig_module.c b/src/event/modules/ngx_rtsig_module.c index 6c94977db..122b0918d 100644 --- a/src/event/modules/ngx_rtsig_module.c +++ b/src/event/modules/ngx_rtsig_module.c @@ -118,7 +118,7 @@ ngx_event_module_t ngx_rtsig_module_ctx = { }; ngx_module_t ngx_rtsig_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_rtsig_module_ctx, /* module context */ ngx_rtsig_commands, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -461,11 +461,11 @@ ngx_rtsig_process_events(ngx_cycle_t *cycle) rev->ready = 1; if (!ngx_threaded && !ngx_accept_mutex_held) { - rev->event_handler(rev); + rev->handler(rev); } else if (rev->accept) { if (ngx_accept_disabled <= 0) { - rev->event_handler(rev); + rev->handler(rev); } } else { @@ -495,7 +495,7 @@ ngx_rtsig_process_events(ngx_cycle_t *cycle) wev->ready = 1; if (!ngx_threaded && !ngx_accept_mutex_held) { - wev->event_handler(wev); + wev->handler(wev); } else { ngx_post_event(wev); @@ -598,11 +598,11 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) events = 0; - if (c->read->active && c->read->event_handler) { + if (c->read->active && c->read->handler) { events |= POLLIN; } - if (c->write->active && c->write->event_handler) { + if (c->write->active && c->write->handler) { events |= POLLOUT; } @@ -652,7 +652,7 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) if (rev->active && !rev->closed - && rev->event_handler + && rev->handler && (overflow_list[i].revents & (POLLIN|POLLERR|POLLHUP|POLLNVAL))) { @@ -664,7 +664,7 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) } else { rev->ready = 1; - rev->event_handler(rev); + rev->handler(rev); } } @@ -672,7 +672,7 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) if (wev->active && !wev->closed - && wev->event_handler + && wev->handler && (overflow_list[i].revents & (POLLOUT|POLLERR|POLLHUP|POLLNVAL))) { @@ -684,7 +684,7 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) } else { wev->ready = 1; - wev->event_handler(wev); + wev->handler(wev); } } } diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c index 6edc2840a..4cf88400c 100644 --- a/src/event/modules/ngx_select_module.c +++ b/src/event/modules/ngx_select_module.c @@ -63,7 +63,7 @@ ngx_event_module_t ngx_select_module_ctx = { }; ngx_module_t ngx_select_module = { - NGX_MODULE, + NGX_MODULE_V1, &ngx_select_module_ctx, /* module context */ NULL, /* module directives */ NGX_EVENT_MODULE, /* module type */ @@ -540,7 +540,7 @@ ngx_select_process_events(ngx_cycle_t *cycle) } } - ev->event_handler(ev); + ev->handler(ev); } #endif @@ -557,7 +557,7 @@ ngx_select_process_events(ngx_cycle_t *cycle) ngx_mutex_unlock(ngx_posted_events_mutex); - ev->event_handler(ev); + ev->handler(ev); if (ngx_accept_disabled > 0) { lock = 0; |
