Mercurial > hg > nginx-vendor-current
comparison src/event/modules/ngx_aio_module.c @ 324:f7cd062ee035 NGINX_0_6_6
nginx 0.6.6
*) Feature: the --sysconfdir=PATH option in configure.
*) Feature: named locations.
*) Feature: the $args variable can be set with the "set" directive.
*) Feature: the $is_args variable.
*) Bugfix: fair big weight upstream balancer.
*) Bugfix: if a client has closed connection to mail proxy then nginx
might not close connection to backend.
*) Bugfix: if the same host without specified port was used as backend
for HTTP and HTTPS, then nginx used only one port - 80 or 443.
*) Bugfix: fix building on Solaris/amd64 by Sun Studio 11 and early
versions; bug appeared in 0.6.4.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 30 Jul 2007 00:00:00 +0400 |
parents | 052a7b1d40e5 |
children | 583decdb82a4 |
comparison
equal
deleted
inserted
replaced
323:7e977a664d91 | 324:f7cd062ee035 |
---|---|
14 #endif | 14 #endif |
15 | 15 |
16 | 16 |
17 static ngx_int_t ngx_aio_init(ngx_cycle_t *cycle, ngx_msec_t timer); | 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, ngx_int_t event, |
20 static ngx_int_t ngx_aio_del_event(ngx_event_t *ev, int event, u_int flags); | 20 ngx_uint_t 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_event(ngx_event_t *ev, ngx_int_t event, |
22 ngx_uint_t flags); | |
23 static ngx_int_t ngx_aio_del_connection(ngx_connection_t *c, ngx_uint_t flags); | |
22 static ngx_int_t ngx_aio_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, | 24 static ngx_int_t ngx_aio_process_events(ngx_cycle_t *cycle, ngx_msec_t timer, |
23 ngx_uint_t flags); | 25 ngx_uint_t flags); |
24 | 26 |
25 | 27 |
26 ngx_os_io_t ngx_os_aio = { | 28 ngx_os_io_t ngx_os_aio = { |
98 | 100 |
99 | 101 |
100 /* the event adding and deleting are needed for the listening sockets */ | 102 /* the event adding and deleting are needed for the listening sockets */ |
101 | 103 |
102 static ngx_int_t | 104 static ngx_int_t |
103 ngx_aio_add_event(ngx_event_t *ev, int event, u_int flags) | 105 ngx_aio_add_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags) |
104 { | 106 { |
105 return ngx_kqueue_module_ctx.actions.add(ev, event, flags); | 107 return ngx_kqueue_module_ctx.actions.add(ev, event, flags); |
106 } | 108 } |
107 | 109 |
108 | 110 |
109 static ngx_int_t | 111 static ngx_int_t |
110 ngx_aio_del_event(ngx_event_t *ev, int event, u_int flags) | 112 ngx_aio_del_event(ngx_event_t *ev, ngx_int_t event, ngx_uint_t flags) |
111 { | 113 { |
112 return ngx_kqueue_module_ctx.actions.del(ev, event, flags); | 114 return ngx_kqueue_module_ctx.actions.del(ev, event, flags); |
113 } | 115 } |
114 | 116 |
115 | 117 |
116 static ngx_int_t | 118 static ngx_int_t |
117 ngx_aio_del_connection(ngx_connection_t *c, u_int flags) | 119 ngx_aio_del_connection(ngx_connection_t *c, ngx_uint_t flags) |
118 { | 120 { |
119 int rc; | 121 int rc; |
120 | 122 |
121 if (c->read->active == 0 && c->write->active == 0) { | 123 if (c->read->active == 0 && c->write->active == 0) { |
122 return NGX_OK; | 124 return NGX_OK; |