comparison src/event/modules/ngx_poll_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
275 if (ngx_event_flags & NGX_OVERFLOW_EVENT) { 275 if (ngx_event_flags & NGX_OVERFLOW_EVENT) {
276 timer = 0; 276 timer = 0;
277 expire = 0; 277 expire = 0;
278 278
279 } else { 279 } else {
280 timer = ngx_event_find_timer(); 280 for ( ;; ) {
281 281 timer = ngx_event_find_timer();
282 if (timer == -1) { 282
283 timer = 0; 283 if (timer != 0) {
284 expire = 1; 284 break;
285 285 }
286 } else if (timer == 0) { 286
287 timer = (ngx_msec_t) INFTIM; 287 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
288 "poll expired timer");
289
290 ngx_event_expire_timers(0);
291 }
292
293 /* NGX_TIMER_INFINITE == INFTIM */
294
295 if (timer == NGX_TIMER_INFINITE) {
288 expire = 0; 296 expire = 0;
289 297
290 } else { 298 } else {
291 expire = 1; 299 expire = 1;
292 } 300 }
306 if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) { 314 if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) {
307 return NGX_ERROR; 315 return NGX_ERROR;
308 } 316 }
309 317
310 if (ngx_accept_mutex_held == 0 318 if (ngx_accept_mutex_held == 0
311 && (timer == (ngx_msec_t) INFTIM || timer > ngx_accept_mutex_delay)) 319 && (timer == NGX_TIMER_INFINITE || timer > ngx_accept_mutex_delay))
312 { 320 {
313 timer = ngx_accept_mutex_delay; 321 timer = ngx_accept_mutex_delay;
314 expire = 0; 322 expire = 0;
315 } 323 }
316 } 324 }
339 cycle->log, err, "poll() failed"); 347 cycle->log, err, "poll() failed");
340 ngx_accept_mutex_unlock(); 348 ngx_accept_mutex_unlock();
341 return NGX_ERROR; 349 return NGX_ERROR;
342 } 350 }
343 351
344 if (timer != (ngx_msec_t) INFTIM) { 352 if (timer != NGX_TIMER_INFINITE) {
345 delta = ngx_elapsed_msec - delta; 353 delta = ngx_elapsed_msec - delta;
346 354
347 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, 355 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0,
348 "poll timer: %d, delta: %d", timer, (int) delta); 356 "poll timer: %d, delta: %d", timer, (int) delta);
349 } else { 357 } else {