Mercurial > hg > nginx
comparison src/event/modules/ngx_kqueue_module.c @ 374:213f17e9f776
nginx-0.0.7-2004-07-02-09:47:00 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 02 Jul 2004 05:47:00 +0000 |
parents | 018569a8f09c |
children | 744ccb59062d |
comparison
equal
deleted
inserted
replaced
373:018569a8f09c | 374:213f17e9f776 |
---|---|
234 { | 234 { |
235 ngx_event_t *e; | 235 ngx_event_t *e; |
236 | 236 |
237 ev->active = 0; | 237 ev->active = 0; |
238 ev->disabled = 0; | 238 ev->disabled = 0; |
239 | |
240 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | |
241 return NGX_ERROR; | |
242 } | |
239 ev->posted = 0; | 243 ev->posted = 0; |
244 ngx_mutex_unlock(ngx_posted_events_mutex); | |
240 | 245 |
241 if (ngx_thread_main() | 246 if (ngx_thread_main() |
242 && nchanges > 0 | 247 && nchanges > 0 |
243 && ev->index < (u_int) nchanges | 248 && ev->index < (u_int) nchanges |
244 && ((uintptr_t) change_list[ev->index].udata & (uintptr_t) ~1) | 249 && ((uintptr_t) change_list[ev->index].udata & (uintptr_t) ~1) |
517 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, | 522 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, |
518 "kevent: stale event " PTR_FMT, ev); | 523 "kevent: stale event " PTR_FMT, ev); |
519 continue; | 524 continue; |
520 } | 525 } |
521 | 526 |
522 ev->returned_instance = instance; | |
523 | |
524 if (ev->log && (ev->log->log_level & NGX_LOG_DEBUG_CONNECTION)) { | 527 if (ev->log && (ev->log->log_level & NGX_LOG_DEBUG_CONNECTION)) { |
525 ngx_kqueue_dump_event(ev->log, &event_list[i]); | 528 ngx_kqueue_dump_event(ev->log, &event_list[i]); |
529 } | |
530 | |
531 ev->returned_instance = instance; | |
532 | |
533 if (!ev->accept && (ngx_threaded || ngx_accept_mutex_held)) { | |
534 ev->posted_ready = 1; | |
535 ev->posted_available += event_list[i].data; | |
536 | |
537 if (event_list[i].flags & EV_EOF) { | |
538 ev->posted_eof = 1; | |
539 ev->posted_errno = event_list[i].fflags; | |
540 } | |
541 | |
542 ngx_post_event(ev); | |
543 | |
544 continue; | |
526 } | 545 } |
527 | 546 |
528 ev->available = event_list[i].data; | 547 ev->available = event_list[i].data; |
529 | 548 |
530 if (event_list[i].flags & EV_EOF) { | 549 if (event_list[i].flags & EV_EOF) { |
531 ev->kq_eof = 1; | 550 ev->kq_eof = 1; |
532 ev->kq_errno = event_list[i].fflags; | 551 ev->kq_errno = event_list[i].fflags; |
533 } | |
534 | |
535 if (ev->oneshot && ev->timer_set) { | |
536 ngx_del_timer(ev); | |
537 } | 552 } |
538 | 553 |
539 ev->ready = 1; | 554 ev->ready = 1; |
540 | 555 |
541 break; | 556 break; |
561 if (!ngx_threaded && !ngx_accept_mutex_held) { | 576 if (!ngx_threaded && !ngx_accept_mutex_held) { |
562 ev->event_handler(ev); | 577 ev->event_handler(ev); |
563 continue; | 578 continue; |
564 } | 579 } |
565 | 580 |
581 #if 0 | |
566 if (!ev->accept) { | 582 if (!ev->accept) { |
567 ngx_post_event(ev); | 583 ngx_post_event(ev); |
568 continue; | 584 continue; |
569 } | 585 } |
586 #endif | |
570 | 587 |
571 if (ngx_accept_disabled > 0) { | 588 if (ngx_accept_disabled > 0) { |
572 continue; | 589 continue; |
573 } | 590 } |
574 | 591 |