Mercurial > hg > nginx
comparison src/event/modules/ngx_devpoll_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 | 2357fa41738a |
comparison
equal
deleted
inserted
replaced
178:a8ff48d26cca | 179:9f3a78b06c48 |
---|---|
320 | 320 |
321 | 321 |
322 int ngx_devpoll_process_events(ngx_log_t *log) | 322 int ngx_devpoll_process_events(ngx_log_t *log) |
323 { | 323 { |
324 int events, n, i, j; | 324 int events, n, i, j; |
325 ngx_msec_t timer, delta; | 325 ngx_msec_t timer; |
326 ngx_err_t err; | 326 ngx_err_t err; |
327 ngx_cycle_t **cycle; | 327 ngx_cycle_t **cycle; |
328 ngx_epoch_msec_t delta; | |
328 ngx_connection_t *c; | 329 ngx_connection_t *c; |
329 struct dvpoll dvp; | 330 struct dvpoll dvp; |
330 struct timeval tv; | 331 struct timeval tv; |
331 | 332 |
332 timer = ngx_event_find_timer(); | 333 timer = ngx_event_find_timer(); |
333 | 334 |
334 if (timer) { | 335 if (timer) { |
335 gettimeofday(&tv, NULL); | 336 ngx_gettimeofday(&tv); |
336 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; | 337 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000; |
337 | 338 |
338 } else { | 339 } else { |
339 timer = INFTIM; | 340 timer = INFTIM; |
340 delta = 0; | 341 delta = 0; |
364 err = 0; | 365 err = 0; |
365 } | 366 } |
366 | 367 |
367 nchanges = 0; | 368 nchanges = 0; |
368 | 369 |
369 gettimeofday(&tv, NULL); | 370 ngx_gettimeofday(&tv); |
370 | 371 |
371 if (ngx_cached_time != tv.tv_sec) { | 372 if (ngx_cached_time != tv.tv_sec) { |
372 ngx_cached_time = tv.tv_sec; | 373 ngx_cached_time = tv.tv_sec; |
373 ngx_time_update(); | 374 ngx_time_update(); |
374 } | 375 } |
375 | 376 |
376 if ((int) timer != INFTIM) { | 377 if ((int) timer != INFTIM) { |
377 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; | 378 delta = tv.tv_sec * 1000 + tv.tv_usec / 1000 - delta; |
378 | 379 |
379 #if (NGX_DEBUG_EVENT) | 380 #if (NGX_DEBUG_EVENT) |
380 ngx_log_debug(log, "devpoll timer: %d, delta: %d" _ timer _ delta); | 381 ngx_log_debug(log, "devpoll timer: %d, delta: %d" _ timer _ (int)delta); |
381 #endif | 382 #endif |
382 ngx_event_expire_timers(delta); | 383 ngx_event_expire_timers((ngx_msec_t) delta); |
383 | 384 |
384 } else { | 385 } else { |
385 if (events == 0) { | 386 if (events == 0) { |
386 ngx_log_error(NGX_LOG_ALERT, log, 0, | 387 ngx_log_error(NGX_LOG_ALERT, log, 0, |
387 "ioctl(DP_POLL) returned no events without timeout"); | 388 "ioctl(DP_POLL) returned no events without timeout"); |
388 return NGX_ERROR; | 389 return NGX_ERROR; |
389 } | 390 } |
390 | 391 |
391 #if (NGX_DEBUG_EVENT) | 392 #if (NGX_DEBUG_EVENT) |
392 ngx_log_debug(log, "devpoll timer: %d, delta: %d" _ timer _ delta); | 393 ngx_log_debug(log, "devpoll timer: %d, delta: %d" _ timer _ (int)delta); |
393 #endif | 394 #endif |
394 } | 395 } |
395 | 396 |
396 if (err) { | 397 if (err) { |
397 ngx_log_error(NGX_LOG_ALERT, log, err, "ioctl(DP_POLL) failed"); | 398 ngx_log_error(NGX_LOG_ALERT, log, err, "ioctl(DP_POLL) failed"); |