Mercurial > hg > nginx
diff src/http/ngx_http_core_module.c @ 67:5a7d1aaa1618
nginx-0.0.1-2003-03-11-23:38:13 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 11 Mar 2003 20:38:13 +0000 |
parents | 34d647deb1da |
children | e43f406e4525 |
line wrap: on
line diff
--- a/src/http/ngx_http_core_module.c +++ b/src/http/ngx_http_core_module.c @@ -96,6 +96,18 @@ static ngx_command_t ngx_http_core_comm NGX_HTTP_LOC_CONF_OFFSET, offsetof(ngx_http_core_loc_conf_t, send_timeout)}, + {ngx_string("lingering_time"), + NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1, + ngx_conf_set_time_slot, + NGX_HTTP_LOC_CONF_OFFSET, + offsetof(ngx_http_core_loc_conf_t, lingering_time)}, + + {ngx_string("lingering_timeout"), + NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1, + ngx_conf_set_time_slot, + NGX_HTTP_LOC_CONF_OFFSET, + offsetof(ngx_http_core_loc_conf_t, lingering_timeout)}, + {ngx_string(""), 0, NULL, 0, 0} }; @@ -138,7 +150,7 @@ int ngx_http_handler(ngx_http_request_t r->connection->unexpected_eof = 0; r->lingering_close = 1; - r->keepalive = 1; + r->keepalive = 0; #if 1 r->filter = NGX_HTTP_FILTER_NEED_IN_MEMORY; @@ -264,6 +276,11 @@ ngx_log_debug(r->connection->log, "trans } } +#if 0 + /* STUB */ r->handler = ngx_http_proxy_handler; + return NGX_OK; +#endif + if (r->uri.data[r->uri.len - 1] == '/') { r->handler = ngx_http_core_index_handler; return NGX_OK; @@ -504,44 +521,38 @@ int ngx_http_error(ngx_http_request_t *r int ngx_http_close_request(ngx_http_request_t *r) { + ngx_connection_t *c; ngx_http_log_ctx_t *ctx; - ngx_log_debug(r->connection->log, "CLOSE#: %d" _ r->file.fd); + c = r->connection; ngx_http_log_handler(r); - ngx_assert((r->file.fd != NGX_INVALID_FILE), /* void */ ; , - r->connection->log, "file already closed"); - if (r->file.fd != NGX_INVALID_FILE) { if (ngx_close_file(r->file.fd) == NGX_FILE_ERROR) { - ngx_log_error(NGX_LOG_ALERT, r->connection->log, ngx_errno, + ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, ngx_close_file_n " failed"); } } -/* - if (r->logging) - ngx_http_log_request(r); -*/ - - ctx = (ngx_http_log_ctx_t *) r->connection->log->data; - /* ctx->url was allocated from r->pool */ + ctx = (ngx_http_log_ctx_t *) c->log->data; ctx->url = NULL; ngx_destroy_pool(r->pool); - ngx_log_debug(r->connection->log, "http closed"); - - if (r->connection->read->timer_set) { - ngx_del_timer(r->connection->read); + if (c->read->timer_set) { + ngx_del_timer(c->read); + c->read->timer_set = 0; } - if (r->connection->write->timer_set) { - ngx_del_timer(r->connection->write); + if (c->write->timer_set) { + ngx_del_timer(c->write); + c->write->timer_set = 0; } + ngx_log_debug(c->log, "http closed"); + return NGX_DONE; } @@ -780,7 +791,7 @@ static void *ngx_http_core_create_loc_co lcf->send_timeout = 10; lcf->discarded_buffer_size = 1500; - lcf->lingering_time = 30; + lcf->lingering_time = 30000; lcf->lingering_timeout = 5000; /* @@ -809,8 +820,8 @@ static char *ngx_set_listen(ngx_conf_t * args = (ngx_str_t *) cf->args->elts; ls->port = atoi(args[1].data); - if (ls->port < 0) { - return "port must be greater or equal to zero"; + if (ls->port < 1 || ls->port > 65536) { + return "port must be between 1 and 65535"; } return NGX_CONF_OK;