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;