comparison src/event/modules/ngx_kqueue_module.c @ 172:1b490fc19afa NGINX_0_3_33

nginx 0.3.33 *) Feature: the "http_503" parameter of the "proxy_next_upstream" or "fastcgi_next_upstream" directives. *) Bugfix: ngx_http_perl_module did not work with inlined in the configuration code, if it was not started with the "sub" word. *) Bugfix: in the "post_action" directive.
author Igor Sysoev <http://sysoev.ru>
date Wed, 15 Mar 2006 00:00:00 +0300
parents 3314be145cb9
children f7cd062ee035
comparison
equal deleted inserted replaced
171:d4717557d48d 172:1b490fc19afa
489 if (timer == NGX_TIMER_INFINITE) { 489 if (timer == NGX_TIMER_INFINITE) {
490 tp = NULL; 490 tp = NULL;
491 491
492 } else { 492 } else {
493 493
494 ts.tv_sec = timer / 1000;
495 ts.tv_nsec = (timer % 1000) * 1000000;
496
494 /* 497 /*
495 * 64-bit MacOSX kernel has the bug: kernel level ts.tv_nsec is 498 * 64-bit Darwin kernel has the bug: kernel level ts.tv_nsec is
496 * the int32_t while user level ts.tv_nsec is the long (64-bit), 499 * the int32_t while user level ts.tv_nsec is the long (64-bit),
497 * so on the big endian PowerPC all nanoseconds are lost. 500 * so on the big endian PowerPC all nanoseconds are lost.
498 * NGX_MACOSX_KEVENT_BUG_SHIFT on these machines is "<< 32".
499 */ 501 */
500 502
501 ts.tv_sec = timer / 1000; 503 #if (NGX_DARWIN_KEVENT_BUG)
502 ts.tv_nsec = (long) ((timer % 1000) * 1000000) 504 ts.tv_nsec <<= 32;
503 NGX_MACOSX_KEVENT_BUG_SHIFT; 505 #endif
506
504 tp = &ts; 507 tp = &ts;
505 } 508 }
506 509
507 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, 510 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
508 "kevent timer: %M, changes: %d", timer, n); 511 "kevent timer: %M, changes: %d", timer, n);