comparison src/event/modules/ngx_epoll_module.c @ 316:a0beefedaf94

nginx-0.0.3-2004-04-15-00:34:05 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Apr 2004 20:34:05 +0000
parents 39b6f2df45c0
children 1308b98496a2
comparison
equal deleted inserted replaced
315:39b6f2df45c0 316:a0beefedaf94
351 ngx_msec_t timer; 351 ngx_msec_t timer;
352 struct timeval tv; 352 struct timeval tv;
353 ngx_connection_t *c; 353 ngx_connection_t *c;
354 ngx_epoch_msec_t delta; 354 ngx_epoch_msec_t delta;
355 355
356 timer = ngx_event_find_timer(); 356 for ( ;; ) {
357 timer = ngx_event_find_timer();
358
359 if (timer != 0) {
360 break;
361 }
362
363 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
364 "epoll expired timer");
365
366 ngx_event_expire_timers(0);
367 }
368
369 /* NGX_TIMER_INFINITE == INFTIM */
370
371 if (timer == NGX_TIMER_INFINITE) {
372 expire = 0;
373
374 } else {
375 expire = 1;
376 }
377
357 ngx_old_elapsed_msec = ngx_elapsed_msec; 378 ngx_old_elapsed_msec = ngx_elapsed_msec;
358
359 if (timer == -1) {
360 timer = 0;
361 expire = 1;
362
363 } else if (timer == 0) {
364 timer = (ngx_msec_t) -1;
365 expire = 0;
366
367 } else {
368 expire = 1;
369 }
370 379
371 if (ngx_accept_mutex) { 380 if (ngx_accept_mutex) {
372 if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) { 381 if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) {
373 return NGX_ERROR; 382 return NGX_ERROR;
374 } 383 }
375 384
376 if (ngx_accept_mutex_held == 0 385 if (ngx_accept_mutex_held == 0
377 && (timer == -1 || timer > ngx_accept_mutex_delay)) 386 && (timer == NGX_TIMER_INFINITE || timer > ngx_accept_mutex_delay))
378 { 387 {
379 timer = ngx_accept_mutex_delay; 388 timer = ngx_accept_mutex_delay;
380 expire = 0; 389 expire = 0;
381 } 390 }
382 } 391 }
396 ngx_time_update(tv.tv_sec); 405 ngx_time_update(tv.tv_sec);
397 406
398 delta = ngx_elapsed_msec; 407 delta = ngx_elapsed_msec;
399 ngx_elapsed_msec = tv.tv_sec * 1000 + tv.tv_usec / 1000 - ngx_start_msec; 408 ngx_elapsed_msec = tv.tv_sec * 1000 + tv.tv_usec / 1000 - ngx_start_msec;
400 409
401 if (timer != (ngx_msec_t) -1) { 410 if (timer != NGX_TIMER_INFINITE) {
402 delta = ngx_elapsed_msec - delta; 411 delta = ngx_elapsed_msec - delta;
403 412
404 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, 413 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
405 "epoll timer: %d, delta: %d", timer, (int) delta); 414 "epoll timer: %d, delta: %d", timer, (int) delta);
406 } else { 415 } else {