nginx-0.0.1-2004-01-16-09:15:48 import
diff --git a/src/event/modules/ngx_devpoll_module.c b/src/event/modules/ngx_devpoll_module.c index 08aff29..583d08c 100644 --- a/src/event/modules/ngx_devpoll_module.c +++ b/src/event/modules/ngx_devpoll_module.c
@@ -165,10 +165,6 @@ nevents = dpcf->events; - if (ngx_event_timer_init(cycle) == NGX_ERROR) { - return NGX_ERROR; - } - ngx_io = ngx_os_io; ngx_event_actions = ngx_devpoll_module_ctx.actions; @@ -188,8 +184,6 @@ dp = -1; - ngx_event_timer_done(cycle); - ngx_free(change_list); ngx_free(event_list); ngx_free(change_index);
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index 4a766bf..4b35aab 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c
@@ -1,6 +1,6 @@ /* - * Copyright (C) 2002-2003 Igor Sysoev, http://sysoev.ru/en/ + * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/ */ @@ -142,10 +142,6 @@ nevents = kcf->events; - if (ngx_event_timer_init(cycle) == NGX_ERROR) { - return NGX_ERROR; - } - ngx_io = ngx_os_io; ngx_event_actions = ngx_kqueue_module_ctx.actions; @@ -174,8 +170,6 @@ ngx_kqueue = -1; - ngx_event_timer_done(cycle); - ngx_free(change_list); ngx_free(event_list);
diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index 7c1c5fd..7b69de5 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c
@@ -101,10 +101,6 @@ NGX_ERROR); } - if (ngx_event_timer_init(cycle) == NGX_ERROR) { - return NGX_ERROR; - } - ngx_io = ngx_os_io; ngx_event_actions = ngx_poll_module_ctx.actions; @@ -117,8 +113,6 @@ static void ngx_poll_done(ngx_cycle_t *cycle) { - ngx_event_timer_done(cycle); - ngx_free(event_list); ngx_free(event_index); ngx_free(ready_index);
diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c index 4c87f20..66783e7 100644 --- a/src/event/modules/ngx_select_module.c +++ b/src/event/modules/ngx_select_module.c
@@ -1,6 +1,6 @@ /* - * Copyright (C) 2002-2003 Igor Sysoev, http://sysoev.ru + * Copyright (C) 2002-2004 Igor Sysoev, http://sysoev.ru/en/ */ @@ -100,10 +100,6 @@ NGX_ERROR); } - if (ngx_event_timer_init(cycle) == NGX_ERROR) { - return NGX_ERROR; - } - ngx_io = ngx_os_io; ngx_event_actions = ngx_select_module_ctx.actions; @@ -122,8 +118,6 @@ static void ngx_select_done(ngx_cycle_t *cycle) { - ngx_event_timer_done(cycle); - ngx_free(event_index); ngx_free(ready_index); @@ -262,6 +256,7 @@ work_write_fd_set = master_write_fd_set; timer = ngx_event_find_timer(); + ngx_old_elapsed_msec = ngx_elapsed_msec; if (timer) { #if (HAVE_SELECT_CHANGE_TIMEOUT)
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index c63c487..fada461 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c
@@ -120,10 +120,7 @@ #endif - if (cycle->old_cycle == NULL) { - ngx_event_timer_init(cycle); - } - + ngx_event_timer_init(); ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module);
diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c index 96a992d..5e866a4 100644 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c
@@ -14,26 +14,13 @@ ngx_rbtree_t ngx_event_timer_sentinel; -int ngx_event_timer_init(ngx_cycle_t *cycle) +void ngx_event_timer_init(void) { if (ngx_event_timer_rbtree) { - return NGX_OK; + return; } ngx_event_timer_rbtree = &ngx_event_timer_sentinel; - -#if 0 - ngx_event_timer_sentinel.left = &ngx_event_timer_sentinel; - ngx_event_timer_sentinel.right = &ngx_event_timer_sentinel; - ngx_event_timer_sentinel.parent = &ngx_event_timer_sentinel; -#endif - - return NGX_OK; -} - - -void ngx_event_timer_done(ngx_cycle_t *cycle) -{ }
diff --git a/src/event/ngx_event_timer.h b/src/event/ngx_event_timer.h index 7b62c02..ee920dc 100644 --- a/src/event/ngx_event_timer.h +++ b/src/event/ngx_event_timer.h
@@ -19,12 +19,7 @@ #define NGX_TIMER_RESOLUTION 1 -#if 0 -int ngx_event_timer_init(void); -#endif -/* STUB */ int ngx_event_timer_init(ngx_cycle_t *cycle); -/* STUB */ void ngx_event_timer_done(ngx_cycle_t *cycle); - +void ngx_event_timer_init(void); ngx_msec_t ngx_event_find_timer(void); void ngx_event_expire_timers(ngx_msec_t timer);
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index a6fb08a..f685bf3 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c
@@ -921,18 +921,21 @@ clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); - if (r->keepalive != 0 && clcf->keepalive_timeout > 0) { + if (!ngx_terminate + && !ngx_quit + && r->keepalive != 0 + && clcf->keepalive_timeout > 0) + { ngx_http_set_keepalive(r); + return; } else if (r->lingering_close && clcf->lingering_timeout > 0) { ngx_http_set_lingering_close(r); - - } else { - ngx_http_close_request(r, 0); - ngx_http_close_connection(r->connection); + return; } - return; + ngx_http_close_request(r, 0); + ngx_http_close_connection(r->connection); }