Mercurial > hg > nginx
comparison src/event/modules/ngx_kqueue_module.c @ 371:780e93985b93
nginx-0.0.7-2004-06-28-20:05:02 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 28 Jun 2004 16:05:02 +0000 |
parents | 54f76b0b8dca |
children | c9fdfccebc49 |
comparison
equal
deleted
inserted
replaced
370:54f76b0b8dca | 371:780e93985b93 |
---|---|
359 #if (NGX_THREADS) | 359 #if (NGX_THREADS) |
360 if (timer == NGX_TIMER_ERROR) { | 360 if (timer == NGX_TIMER_ERROR) { |
361 return NGX_ERROR; | 361 return NGX_ERROR; |
362 } | 362 } |
363 | 363 |
364 /* | 364 if (timer == NGX_TIMER_INFINITE || timer > 500) { |
365 * TODO: if timer is NGX_TIMER_INFINITE and any worker thread | 365 timer = 500; |
366 * is still busy then set the configurable 500ms timeout | 366 break; |
367 * to wake up another worker thread | 367 } |
368 */ | |
369 | 368 |
370 #endif | 369 #endif |
371 | 370 |
372 if (timer != 0) { | 371 if (timer != 0) { |
373 break; | 372 break; |
459 ngx_accept_mutex_unlock(); | 458 ngx_accept_mutex_unlock(); |
460 return NGX_ERROR; | 459 return NGX_ERROR; |
461 } | 460 } |
462 } | 461 } |
463 | 462 |
464 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { | 463 if (events > 0) { |
465 ngx_accept_mutex_unlock(); | 464 if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { |
466 return NGX_ERROR; | 465 ngx_accept_mutex_unlock(); |
467 } | 466 return NGX_ERROR; |
468 | 467 } |
469 lock = 1; | 468 |
469 lock = 1; | |
470 | |
471 } else { | |
472 lock =0; | |
473 } | |
470 | 474 |
471 for (i = 0; i < events; i++) { | 475 for (i = 0; i < events; i++) { |
472 | 476 |
473 ngx_kqueue_dump_event(cycle->log, &event_list[i]); | 477 ngx_kqueue_dump_event(cycle->log, &event_list[i]); |
474 | 478 |
586 ngx_event_expire_timers((ngx_msec_t) delta); | 590 ngx_event_expire_timers((ngx_msec_t) delta); |
587 } | 591 } |
588 | 592 |
589 if (ngx_posted_events) { | 593 if (ngx_posted_events) { |
590 if (ngx_threaded) { | 594 if (ngx_threaded) { |
591 ngx_cv_signal(ngx_posted_events_cv); | 595 ngx_cond_signal(ngx_posted_events_cv); |
592 | 596 |
593 } else { | 597 } else { |
594 ngx_event_process_posted(cycle); | 598 ngx_event_process_posted(cycle); |
595 } | 599 } |
596 } | 600 } |