Mercurial > hg > nginx-vendor-current
comparison src/event/modules/ngx_aio_module.c @ 112:408f195b3482 NGINX_0_3_3
nginx 0.3.3
*) Change: the "bl" and "af" parameters of the "listen" directive was
renamed to the "backlog" and "accept_filter".
*) Feature: the "rcvbuf" and "sndbuf" parameters of the "listen"
directive.
*) Change: the "$msec" log parameter does not require now the
additional the gettimeofday() system call.
*) Feature: the -t switch now tests the "listen" directives.
*) Bugfix: if the invalid address was specified in the "listen"
directive, then after the -HUP signal nginx left an open socket in
the CLOSED state.
*) Bugfix: the mime type may be incorrectly set to default value for
index file with variable in the name; bug appeared in 0.3.0.
*) Feature: the "timer_resolution" directive.
*) Feature: the millisecond "$upstream_response_time" log parameter.
*) Bugfix: a temporary file with client request body now is removed
just after the response header was transferred to a client.
*) Bugfix: OpenSSL 0.9.6 compatibility.
*) Bugfix: the SSL certificate and key file paths could not be relative.
*) Bugfix: the "ssl_prefer_server_ciphers" directive did not work in
the ngx_imap_ssl_module.
*) Bugfix: the "ssl_protocols" directive allowed to specify the single
protocol only.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Wed, 19 Oct 2005 00:00:00 +0400 |
parents | 71c46860eb55 |
children | 052a7b1d40e5 |
comparison
equal
deleted
inserted
replaced
111:a175b609c76d | 112:408f195b3482 |
---|---|
12 #if (NGX_HAVE_KQUEUE) | 12 #if (NGX_HAVE_KQUEUE) |
13 #include <ngx_kqueue_module.h> | 13 #include <ngx_kqueue_module.h> |
14 #endif | 14 #endif |
15 | 15 |
16 | 16 |
17 static ngx_int_t ngx_aio_init(ngx_cycle_t *cycle); | 17 static ngx_int_t ngx_aio_init(ngx_cycle_t *cycle, ngx_msec_t timer); |
18 static void ngx_aio_done(ngx_cycle_t *cycle); | 18 static void ngx_aio_done(ngx_cycle_t *cycle); |
19 static ngx_int_t ngx_aio_add_event(ngx_event_t *ev, int event, u_int flags); | 19 static ngx_int_t ngx_aio_add_event(ngx_event_t *ev, int event, u_int flags); |
20 static ngx_int_t ngx_aio_del_event(ngx_event_t *ev, int event, u_int flags); | 20 static ngx_int_t ngx_aio_del_event(ngx_event_t *ev, int event, u_int flags); |
21 static ngx_int_t ngx_aio_del_connection(ngx_connection_t *c, u_int flags); | 21 static ngx_int_t ngx_aio_del_connection(ngx_connection_t *c, u_int flags); |
22 static ngx_int_t ngx_aio_process_events(ngx_cycle_t *cycle); | 22 static ngx_int_t ngx_aio_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, |
23 ngx_uint_t flags); | |
23 | 24 |
24 | 25 |
25 ngx_os_io_t ngx_os_aio = { | 26 ngx_os_io_t ngx_os_aio = { |
26 ngx_aio_read, | 27 ngx_aio_read, |
27 ngx_aio_read_chain, | 28 ngx_aio_read_chain, |
71 | 72 |
72 | 73 |
73 #if (NGX_HAVE_KQUEUE) | 74 #if (NGX_HAVE_KQUEUE) |
74 | 75 |
75 static ngx_int_t | 76 static ngx_int_t |
76 ngx_aio_init(ngx_cycle_t *cycle) | 77 ngx_aio_init(ngx_cycle_t *cycle, ngx_msec_t timer) |
77 { | 78 { |
78 if (ngx_kqueue_module_ctx.actions.init(cycle) == NGX_ERROR) { | 79 if (ngx_kqueue_module_ctx.actions.init(cycle, timer) == NGX_ERROR) { |
79 return NGX_ERROR; | 80 return NGX_ERROR; |
80 } | 81 } |
81 | 82 |
82 ngx_io = ngx_os_aio; | 83 ngx_io = ngx_os_aio; |
83 | 84 |
157 return NGX_OK; | 158 return NGX_OK; |
158 } | 159 } |
159 | 160 |
160 | 161 |
161 static ngx_int_t | 162 static ngx_int_t |
162 ngx_aio_process_events(ngx_cycle_t *cycle) | 163 ngx_aio_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, ngx_uint_t flags) |
163 { | 164 { |
164 return ngx_kqueue_module_ctx.actions.process_events(cycle); | 165 return ngx_kqueue_module_ctx.actions.process_events(cycle, timer, flags); |
165 } | 166 } |
166 | 167 |
167 #endif /* NGX_HAVE_KQUEUE */ | 168 #endif /* NGX_HAVE_KQUEUE */ |
168 | 169 |
169 | 170 |