Mercurial > hg > nginx-quic
comparison src/event/modules/ngx_kqueue_module.c @ 179:9f3a78b06c48
nginx-0.0.1-2003-11-11-21:13:43 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 11 Nov 2003 18:13:43 +0000 |
parents | a8ff48d26cca |
children | c1f3a3c7c5db |
comparison
equal
deleted
inserted
replaced
178:a8ff48d26cca | 179:9f3a78b06c48 |
---|---|
309 } | 309 } |
310 | 310 |
311 | 311 |
312 static int ngx_kqueue_process_events(ngx_log_t *log) | 312 static int ngx_kqueue_process_events(ngx_log_t *log) |
313 { | 313 { |
314 int events, instance, i; | 314 int events, instance, i; |
315 ngx_err_t err; | 315 ngx_err_t err; |
316 ngx_msec_t timer, delta; | 316 ngx_msec_t timer; |
317 ngx_event_t *ev; | 317 ngx_event_t *ev; |
318 struct timeval tv; | 318 ngx_epoch_msec_t delta; |
319 struct timespec ts, *tp; | 319 struct timeval tv; |
320 struct timespec ts, *tp; | |
320 | 321 |
321 timer = ngx_event_find_timer(); | 322 timer = ngx_event_find_timer(); |
322 | 323 |
323 if (timer) { | 324 if (timer) { |
324 ts.tv_sec = timer / 1000; | 325 ts.tv_sec = timer / 1000; |
325 ts.tv_nsec = (timer % 1000) * 1000000; | 326 ts.tv_nsec = (timer % 1000) * 1000000; |
326 tp = &ts; | 327 tp = &ts; |
327 gettimeofday(&tv, NULL); | 328 |
329 ngx_gettimeofday(&tv); | |
328 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; | 330 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; |
329 | 331 |
330 } else { | 332 } else { |
331 timer = 0; | |
332 delta = 0; | 333 delta = 0; |
333 tp = NULL; | 334 tp = NULL; |
334 } | 335 } |
335 | 336 |
336 #if (NGX_DEBUG_EVENT) | 337 #if (NGX_DEBUG_EVENT) |
345 err = 0; | 346 err = 0; |
346 } | 347 } |
347 | 348 |
348 nchanges = 0; | 349 nchanges = 0; |
349 | 350 |
350 gettimeofday(&tv, NULL); | 351 ngx_gettimeofday(&tv); |
351 | 352 |
352 if (ngx_cached_time != tv.tv_sec) { | 353 if (ngx_cached_time != tv.tv_sec) { |
353 ngx_cached_time = tv.tv_sec; | 354 ngx_cached_time = tv.tv_sec; |
354 ngx_time_update(); | 355 ngx_time_update(); |
355 } | 356 } |
356 | 357 |
357 if (timer) { | 358 if (timer) { |
358 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; | 359 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; |
359 | 360 |
360 #if (NGX_DEBUG_EVENT) | 361 #if (NGX_DEBUG_EVENT) |
361 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ delta); | 362 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ (int) delta); |
362 #endif | 363 #endif |
363 | 364 |
364 /* | 365 /* |
365 * The expired timers must be handled before a processing of the events | 366 * The expired timers must be handled before a processing of the events |
366 * because the new timers can be added during a processing | 367 * because the new timers can be added during a processing |
367 */ | 368 */ |
368 | 369 |
369 ngx_event_expire_timers(delta); | 370 ngx_event_expire_timers((ngx_msec_t) delta); |
370 | 371 |
371 } else { | 372 } else { |
372 if (events == 0) { | 373 if (events == 0) { |
373 ngx_log_error(NGX_LOG_ALERT, log, 0, | 374 ngx_log_error(NGX_LOG_ALERT, log, 0, |
374 "kevent() returned no events without timeout"); | 375 "kevent() returned no events without timeout"); |
375 return NGX_ERROR; | 376 return NGX_ERROR; |
376 } | 377 } |
377 | 378 |
378 #if (NGX_DEBUG_EVENT) | 379 #if (NGX_DEBUG_EVENT) |
379 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ delta); | 380 ngx_log_debug(log, "kevent timer: %d, delta: %d" _ timer _ (int) delta); |
380 #endif | 381 #endif |
381 } | 382 } |
382 | 383 |
383 if (err) { | 384 if (err) { |
384 ngx_log_error(NGX_LOG_ALERT, log, err, "kevent() failed"); | 385 ngx_log_error(NGX_LOG_ALERT, log, err, "kevent() failed"); |