Mercurial > hg > nginx-quic
comparison src/event/modules/ngx_aio_module.c @ 499:64d9afb209da release-0.1.24
nginx-0.1.24-RELEASE import
*) 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 <igor@sysoev.ru> |
---|---|
date | Fri, 04 Mar 2005 14:06:57 +0000 |
parents | 2ff194b74f1e |
children | 9b8c906f6e63 |
comparison
equal
deleted
inserted
replaced
498:58fcf570b0cb | 499:64d9afb209da |
---|---|
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 */ |