Mercurial > hg > nginx
comparison src/event/modules/ngx_kqueue_module.c @ 205:4a9a2b1dd6fa
nginx-0.0.1-2003-12-04-17:53:00 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 04 Dec 2003 14:53:00 +0000 |
parents | 11fbd0fc041d |
children | 6e0fef527732 |
comparison
equal
deleted
inserted
replaced
204:e0bcfb77d6c7 | 205:4a9a2b1dd6fa |
---|---|
358 if (timer) { | 358 if (timer) { |
359 ts.tv_sec = timer / 1000; | 359 ts.tv_sec = timer / 1000; |
360 ts.tv_nsec = (timer % 1000) * 1000000; | 360 ts.tv_nsec = (timer % 1000) * 1000000; |
361 tp = &ts; | 361 tp = &ts; |
362 | 362 |
363 #if 0 | |
363 ngx_gettimeofday(&tv); | 364 ngx_gettimeofday(&tv); |
364 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; | 365 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; |
366 #endif | |
365 | 367 |
366 } else { | 368 } else { |
367 delta = 0; | 369 delta = 0; |
368 tp = NULL; | 370 tp = NULL; |
369 } | 371 } |
382 | 384 |
383 nchanges = 0; | 385 nchanges = 0; |
384 | 386 |
385 ngx_gettimeofday(&tv); | 387 ngx_gettimeofday(&tv); |
386 | 388 |
389 #if 1 | |
390 delta = ngx_elapsed_msec; | |
391 #endif | |
392 ngx_elapsed_msec = tv.tv_sec * 1000 + tv.tv_usec / 1000 - ngx_start_msec; | |
393 | |
387 if (ngx_cached_time != tv.tv_sec) { | 394 if (ngx_cached_time != tv.tv_sec) { |
388 ngx_cached_time = tv.tv_sec; | 395 ngx_cached_time = tv.tv_sec; |
389 ngx_time_update(); | 396 ngx_time_update(); |
390 } | 397 } |
391 | 398 |
392 if (timer) { | 399 if (timer) { |
400 delta = ngx_elapsed_msec - delta; | |
401 | |
402 #if 0 | |
393 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; | 403 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; |
394 | 404 |
395 #if (NGX_DEBUG_EVENT) | |
396 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ (int) delta); | |
397 #endif | |
398 | |
399 #if 0 | |
400 /* | 405 /* |
401 * The expired timers must be handled before a processing of the events | 406 * The expired timers must be handled before a processing of the events |
402 * because the new timers can be added during a processing | 407 * because the new timers can be added during a processing |
403 */ | 408 */ |
404 | 409 |
405 ngx_event_expire_timers((ngx_msec_t) delta); | 410 ngx_event_expire_timers((ngx_msec_t) delta); |
406 #endif | |
407 | 411 |
408 ngx_event_set_timer_delta((ngx_msec_t) delta); | 412 ngx_event_set_timer_delta((ngx_msec_t) delta); |
413 #endif | |
409 | 414 |
410 } else { | 415 } else { |
411 if (events == 0) { | 416 if (events == 0) { |
412 ngx_log_error(NGX_LOG_ALERT, log, 0, | 417 ngx_log_error(NGX_LOG_ALERT, log, 0, |
413 "kevent() returned no events without timeout"); | 418 "kevent() returned no events without timeout"); |
414 return NGX_ERROR; | 419 return NGX_ERROR; |
415 } | 420 } |
421 } | |
416 | 422 |
417 #if (NGX_DEBUG_EVENT) | 423 #if (NGX_DEBUG_EVENT) |
418 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ (int) delta); | 424 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ (int) delta); |
419 #endif | 425 #endif |
420 } | |
421 | 426 |
422 if (err) { | 427 if (err) { |
423 ngx_log_error(NGX_LOG_ALERT, log, err, "kevent() failed"); | 428 ngx_log_error(NGX_LOG_ALERT, log, err, "kevent() failed"); |
424 return NGX_ERROR; | 429 return NGX_ERROR; |
425 } | 430 } |
508 "unexpected kevent() filter %d", | 513 "unexpected kevent() filter %d", |
509 event_list[i].filter); | 514 event_list[i].filter); |
510 } | 515 } |
511 } | 516 } |
512 | 517 |
518 if (timer && delta) { | |
519 ngx_event_expire_timers((ngx_msec_t) delta); | |
520 } | |
521 | |
522 #if 0 | |
513 if (timer) { | 523 if (timer) { |
514 ngx_event_expire_timers((ngx_msec_t) delta); | 524 ngx_event_expire_timers((ngx_msec_t) delta); |
515 } | 525 } |
526 #endif | |
516 | 527 |
517 return NGX_OK; | 528 return NGX_OK; |
518 } | 529 } |
519 | 530 |
520 | 531 |