Mercurial > hg > nginx-quic
comparison src/event/modules/ngx_kqueue_module.c @ 144:ef8c87afcfc5
nginx-0.0.1-2003-10-12-20:49:16 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 12 Oct 2003 16:49:16 +0000 |
parents | ac69ab96328d |
children | 88abd07d9f62 |
comparison
equal
deleted
inserted
replaced
143:5526213be452 | 144:ef8c87afcfc5 |
---|---|
149 | 149 |
150 ngx_io = ngx_os_io; | 150 ngx_io = ngx_os_io; |
151 | 151 |
152 ngx_event_actions = ngx_kqueue_module_ctx.actions; | 152 ngx_event_actions = ngx_kqueue_module_ctx.actions; |
153 | 153 |
154 ngx_event_flags = NGX_HAVE_LEVEL_EVENT | 154 ngx_event_flags = NGX_USE_ONESHOT_EVENT |
155 |NGX_HAVE_ONESHOT_EVENT | |
156 #if (HAVE_CLEAR_EVENT) | 155 #if (HAVE_CLEAR_EVENT) |
157 |NGX_HAVE_CLEAR_EVENT | 156 |NGX_USE_CLEAR_EVENT |
158 #else | 157 #else |
159 |NGX_USE_LEVEL_EVENT | 158 |NGX_USE_LEVEL_EVENT |
160 #endif | 159 #endif |
161 #if (HAVE_LOWAT_EVENT) | 160 #if (HAVE_LOWAT_EVENT) |
162 |NGX_HAVE_LOWAT_EVENT | 161 |NGX_HAVE_LOWAT_EVENT |
236 } | 235 } |
237 | 236 |
238 return NGX_OK; | 237 return NGX_OK; |
239 } | 238 } |
240 | 239 |
241 /* when the file descriptor is closed a kqueue automatically deletes | 240 /* |
242 its filters so we do not need to delete explicity the event | 241 * when the file descriptor is closed a kqueue automatically deletes |
243 before the closing the file descriptor */ | 242 * its filters so we do not need to delete explicity the event |
243 * before the closing the file descriptor. | |
244 */ | |
244 | 245 |
245 if (flags & NGX_CLOSE_EVENT) { | 246 if (flags & NGX_CLOSE_EVENT) { |
246 return NGX_OK; | 247 return NGX_OK; |
247 } | 248 } |
248 | 249 |
425 ev->error = event_list[i].fflags; | 426 ev->error = event_list[i].fflags; |
426 } | 427 } |
427 | 428 |
428 if (ev->oneshot && ev->timer_set) { | 429 if (ev->oneshot && ev->timer_set) { |
429 ngx_del_timer(ev); | 430 ngx_del_timer(ev); |
430 ev->timer_set = 0; | |
431 } | 431 } |
432 | 432 |
433 /* fall through */ | 433 ev->ready = 1; |
434 | |
435 ev->event_handler(ev); | |
436 | |
437 break; | |
434 | 438 |
435 case EVFILT_AIO: | 439 case EVFILT_AIO: |
436 ev->ready = 1; | 440 ev->ready = 1; |
441 ev->active = 0; | |
437 | 442 |
438 ev->event_handler(ev); | 443 ev->event_handler(ev); |
439 | 444 |
440 break; | 445 break; |
441 | 446 |