comparison src/event/modules/ngx_aio_module.c @ 48:6cfc63e68377 NGINX_0_1_24

nginx 0.1.24 *) Feature: the ngx_http_ssi_filter_module supports the QUERY_STRING and DOCUMENT_URI variables. *) Bugfix: the ngx_http_autoindex_module may some times return the 404 response for existent directory, if this directory was used in "alias" directive. *) Bugfix: the ngx_http_ssi_filter_module ran incorrectly for large responses. *) Bugfix: the lack of the "Referer" header line was always accounted as valid referrer.
author Igor Sysoev <http://sysoev.ru>
date Fri, 04 Mar 2005 00:00:00 +0300
parents 6f8b0dc0f8dd
children b55cbf18157e
comparison
equal deleted inserted replaced
47:4ae32548452c 48:6cfc63e68377
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 int ngx_aio_init(ngx_cycle_t *cycle); 17 static ngx_int_t ngx_aio_init(ngx_cycle_t *cycle);
18 static void ngx_aio_done(ngx_cycle_t *cycle); 18 static void ngx_aio_done(ngx_cycle_t *cycle);
19 static int 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 int 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 int 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 int ngx_aio_process_events(ngx_cycle_t *cycle); 22 static ngx_int_t ngx_aio_process_events(ngx_cycle_t *cycle);
23 23
24 24
25 ngx_os_io_t ngx_os_aio = { 25 ngx_os_io_t ngx_os_aio = {
26 ngx_aio_read, 26 ngx_aio_read,
27 ngx_aio_read_chain, 27 ngx_aio_read_chain,
64 64
65 65
66 66
67 #if (NGX_HAVE_KQUEUE) 67 #if (NGX_HAVE_KQUEUE)
68 68
69 static int ngx_aio_init(ngx_cycle_t *cycle) 69 static ngx_int_t
70 ngx_aio_init(ngx_cycle_t *cycle)
70 { 71 {
71 if (ngx_kqueue_module_ctx.actions.init(cycle) == NGX_ERROR) { 72 if (ngx_kqueue_module_ctx.actions.init(cycle) == NGX_ERROR) {
72 return NGX_ERROR; 73 return NGX_ERROR;
73 } 74 }
74 75
80 81
81 return NGX_OK; 82 return NGX_OK;
82 } 83 }
83 84
84 85
85 static void ngx_aio_done(ngx_cycle_t *cycle) 86 static void
87 ngx_aio_done(ngx_cycle_t *cycle)
86 { 88 {
87 ngx_kqueue_module_ctx.actions.done(cycle); 89 ngx_kqueue_module_ctx.actions.done(cycle);
88 } 90 }
89 91
90 92
91 /* The event adding and deleting are needed for the listening sockets */ 93 /* the event adding and deleting are needed for the listening sockets */
92 94
93 static int ngx_aio_add_event(ngx_event_t *ev, int event, u_int flags) 95 static ngx_int_t
96 ngx_aio_add_event(ngx_event_t *ev, int event, u_int flags)
94 { 97 {
95 return ngx_kqueue_module_ctx.actions.add(ev, event, flags); 98 return ngx_kqueue_module_ctx.actions.add(ev, event, flags);
96 } 99 }
97 100
98 101
99 static int ngx_aio_del_event(ngx_event_t *ev, int event, u_int flags) 102 static ngx_int_t
103 ngx_aio_del_event(ngx_event_t *ev, int event, u_int flags)
100 { 104 {
101 return ngx_kqueue_module_ctx.actions.del(ev, event, flags); 105 return ngx_kqueue_module_ctx.actions.del(ev, event, flags);
102 } 106 }
103 107
104 108
105 static int ngx_aio_del_connection(ngx_connection_t *c, u_int flags) 109 static ngx_int_t
110 ngx_aio_del_connection(ngx_connection_t *c, u_int flags)
106 { 111 {
107 int rc; 112 int rc;
108 113
109 if (c->read->active == 0 && c->write->active == 0) { 114 if (c->read->active == 0 && c->write->active == 0) {
110 return NGX_OK; 115 return NGX_OK;
145 150
146 return NGX_OK; 151 return NGX_OK;
147 } 152 }
148 153
149 154
150 static int ngx_aio_process_events(ngx_cycle_t *cycle) 155 static ngx_int_t
156 ngx_aio_process_events(ngx_cycle_t *cycle)
151 { 157 {
152 return ngx_kqueue_module_ctx.actions.process_events(cycle); 158 return ngx_kqueue_module_ctx.actions.process_events(cycle);
153 } 159 }
154 160
155 #endif /* NGX_HAVE_KQUEUE */ 161 #endif /* NGX_HAVE_KQUEUE */