comparison src/event/ngx_event.h @ 381:02a511569afb

nginx-0.0.7-2004-07-07-19:01:00 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 07 Jul 2004 15:01:00 +0000
parents 5ce6561246a5
children f8f0f1834266
comparison
equal deleted inserted replaced
380:5ce6561246a5 381:02a511569afb
39 unsigned accept:1; 39 unsigned accept:1;
40 40
41 unsigned oneshot:1; 41 unsigned oneshot:1;
42 42
43 /* used to detect the stale events in kqueue, rt signals and epoll */ 43 /* used to detect the stale events in kqueue, rt signals and epoll */
44 unsigned use_instance:1;
45 unsigned instance:1; 44 unsigned instance:1;
46 unsigned returned_instance:1;
47 45
48 /* 46 /*
49 * the event was passed or would be passed to a kernel; 47 * the event was passed or would be passed to a kernel;
50 * in aio mode - operation was posted. 48 * in aio mode - operation was posted.
51 */ 49 */
73 71
74 unsigned deferred_accept:1; 72 unsigned deferred_accept:1;
75 73
76 /* the pending eof reported by kqueue or in aio chain operation */ 74 /* the pending eof reported by kqueue or in aio chain operation */
77 unsigned pending_eof:1; 75 unsigned pending_eof:1;
76
77 #if !(NGX_THREADS)
78 unsigned posted_ready:1;
79 #endif
78 80
79 #if (WIN32) 81 #if (WIN32)
80 /* setsockopt(SO_UPDATE_ACCEPT_CONTEXT) was succesfull */ 82 /* setsockopt(SO_UPDATE_ACCEPT_CONTEXT) was succesfull */
81 unsigned accept_context_updated:1; 83 unsigned accept_context_updated:1;
82 #endif 84 #endif
242 * kqueue in FreeBSD 4.1-4.2 has no NOTE_LOWAT so we need a separate flag. 244 * kqueue in FreeBSD 4.1-4.2 has no NOTE_LOWAT so we need a separate flag.
243 */ 245 */
244 #define NGX_HAVE_LOWAT_EVENT 0x00000010 246 #define NGX_HAVE_LOWAT_EVENT 0x00000010
245 247
246 /* 248 /*
247 * The event filter allows to pass instance information to check stale events -
248 * kqueue, epoll, rt signals.
249 */
250 #define NGX_HAVE_INSTANCE_EVENT 0x00000020
251
252 /*
253 * The event filter requires to do i/o operation until EAGAIN - 249 * The event filter requires to do i/o operation until EAGAIN -
254 * epoll, rt signals. 250 * epoll, rt signals.
255 */ 251 */
256 #define NGX_HAVE_GREEDY_EVENT 0x00000040 252 #define NGX_HAVE_GREEDY_EVENT 0x00000020
257 253
258 /* 254 /*
259 * The event filter notifies only the changes (the edges) 255 * The event filter is epoll,
260 * but not an initial level - early epoll patches. 256 */
261 */ 257 #define NGX_USE_EPOLL_EVENT 0x00000040
262 #define NGX_USE_EDGE_EVENT 0x00000080
263 258
264 /* 259 /*
265 * No need to add or delete the event filters - rt signals. 260 * No need to add or delete the event filters - rt signals.
266 */ 261 */
267 #define NGX_USE_RTSIG_EVENT 0x00000100 262 #define NGX_USE_RTSIG_EVENT 0x00000080
268 263
269 /* 264 /*
270 * No need to add or delete the event filters - overlapped, aio_read, 265 * No need to add or delete the event filters - overlapped, aio_read,
271 * aioread, io_submit. 266 * aioread, io_submit.
272 */ 267 */
273 #define NGX_USE_AIO_EVENT 0x00000200 268 #define NGX_USE_AIO_EVENT 0x00000100
274 269
275 /* 270 /*
276 * Need to add socket or handle only once - i/o completion port. 271 * Need to add socket or handle only once - i/o completion port.
277 * It also requires HAVE_AIO and NGX_USE_AIO_EVENT to be set. 272 * It also requires HAVE_AIO and NGX_USE_AIO_EVENT to be set.
278 */ 273 */
279 #define NGX_USE_IOCP_EVENT 0x00000400 274 #define NGX_USE_IOCP_EVENT 0x00000200
280 275
281 276
282 277
283 /* 278 /*
284 * The event filter is deleted before the closing file. 279 * The event filter is deleted before the closing file.