Mercurial > hg > nginx
comparison src/event/ngx_event.h @ 259:d30f2c39caae
nginx-0.0.2-2004-02-12-23:57:10 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 12 Feb 2004 20:57:10 +0000 |
parents | 733dffa1fe97 |
children | bdd631bf1a1c |
comparison
equal
deleted
inserted
replaced
258:733dffa1fe97 | 259:d30f2c39caae |
---|---|
174 extern ngx_event_actions_t ngx_event_actions; | 174 extern ngx_event_actions_t ngx_event_actions; |
175 | 175 |
176 | 176 |
177 /* | 177 /* |
178 * The event filter requires to read/write the whole data - | 178 * The event filter requires to read/write the whole data - |
179 * select, poll, /dev/poll, kqueue. | 179 * select, poll, /dev/poll, kqueue, epoll. |
180 */ | 180 */ |
181 #define NGX_USE_LEVEL_EVENT 0x00000001 | 181 #define NGX_USE_LEVEL_EVENT 0x00000001 |
182 | 182 |
183 /* | 183 /* |
184 * The event filter is deleted after a notification without an additional | 184 * The event filter is deleted after a notification without an additional |
185 * syscall - select, poll, kqueue. | 185 * syscall - select, poll, kqueue, epoll. |
186 */ | 186 */ |
187 #define NGX_USE_ONESHOT_EVENT 0x00000002 | 187 #define NGX_USE_ONESHOT_EVENT 0x00000002 |
188 | 188 |
189 /* | 189 /* |
190 * The event filter notifies only the changes and an initial level - kqueue. | 190 * The event filter notifies only the changes and an initial level - |
191 * kqueue, epoll. | |
191 */ | 192 */ |
192 #define NGX_USE_CLEAR_EVENT 0x00000004 | 193 #define NGX_USE_CLEAR_EVENT 0x00000004 |
193 | 194 |
194 /* | 195 /* |
195 * The event filter has kqueue features - the eof flag, errno, | 196 * The event filter has kqueue features - the eof flag, errno, |
203 */ | 204 */ |
204 #define NGX_HAVE_LOWAT_EVENT 0x00000010 | 205 #define NGX_HAVE_LOWAT_EVENT 0x00000010 |
205 | 206 |
206 /* | 207 /* |
207 * The event filter notifies only the changes (the edges) | 208 * The event filter notifies only the changes (the edges) |
208 * but not an initial level - epoll. | 209 * but not an initial level - early epoll patches. |
209 */ | 210 */ |
210 #define NGX_USE_EDGE_EVENT 0x00000020 | 211 #define NGX_USE_EDGE_EVENT 0x00000020 |
211 | 212 |
212 /* | 213 /* |
213 * No need to add or delete the event filters - rt signals. | 214 * No need to add or delete the event filters - rt signals. |
273 | 274 |
274 #undef NGX_DISABLE_EVENT | 275 #undef NGX_DISABLE_EVENT |
275 #define NGX_DISABLE_EVENT EV_DISABLE | 276 #define NGX_DISABLE_EVENT EV_DISABLE |
276 | 277 |
277 | 278 |
278 #elif (HAVE_POLL) | 279 #elif (HAVE_DEVPOLL) |
279 | 280 |
280 #define NGX_READ_EVENT POLLIN | 281 #define NGX_READ_EVENT POLLIN |
281 #define NGX_WRITE_EVENT POLLOUT | 282 #define NGX_WRITE_EVENT POLLOUT |
282 | 283 |
283 #define NGX_LEVEL_EVENT 0 | 284 #define NGX_LEVEL_EVENT 0 |
284 #define NGX_ONESHOT_EVENT 1 | 285 |
285 | 286 |
286 | 287 #elif (HAVE_EPOLL) |
287 #elif (HAVE_DEVPOLL) | 288 |
289 #define NGX_READ_EVENT EPOLLIN | |
290 #define NGX_WRITE_EVENT EPOLLOUT | |
291 | |
292 #define NGX_LEVEL_EVENT 0 | |
293 #define NGX_CLEAR_EVENT EPOLLET | |
294 #define NGX_ONESHOT_EVENT 0x70000000 | |
295 #if 0 | |
296 #define NGX_ONESHOT_EVENT EPOLLONESHOT | |
297 #endif | |
298 | |
299 | |
300 #elif (HAVE_POLL) | |
288 | 301 |
289 #define NGX_READ_EVENT POLLIN | 302 #define NGX_READ_EVENT POLLIN |
290 #define NGX_WRITE_EVENT POLLOUT | 303 #define NGX_WRITE_EVENT POLLOUT |
291 | 304 |
292 #define NGX_LEVEL_EVENT 0 | 305 #define NGX_LEVEL_EVENT 0 |
306 #define NGX_ONESHOT_EVENT 1 | |
293 | 307 |
294 | 308 |
295 #else /* select */ | 309 #else /* select */ |
296 | 310 |
297 #define NGX_READ_EVENT 0 | 311 #define NGX_READ_EVENT 0 |