Mercurial > hg > nginx-quic
comparison src/http/ngx_http_core_module.c @ 87:5f6d848dcbef
nginx-0.0.1-2003-05-13-20:02:32 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 13 May 2003 16:02:32 +0000 |
parents | 3973260705cc |
children | 674d333f4296 |
comparison
equal
deleted
inserted
replaced
86:3973260705cc | 87:5f6d848dcbef |
---|---|
515 { | 515 { |
516 /* STUB */ | 516 /* STUB */ |
517 | 517 |
518 /* log request */ | 518 /* log request */ |
519 | 519 |
520 return ngx_http_close_request(r, 0); | 520 ngx_http_close_request(r, 0); |
521 return NGX_OK; | |
521 } | 522 } |
522 | 523 |
523 | 524 |
524 int ngx_http_error(ngx_http_request_t *r, int error) | 525 int ngx_http_error(ngx_http_request_t *r, int error) |
525 { | 526 { |
527 ngx_log_debug(r->connection->log, "http error: %d" _ error); | 528 ngx_log_debug(r->connection->log, "http error: %d" _ error); |
528 | 529 |
529 /* log request */ | 530 /* log request */ |
530 | 531 |
531 ngx_http_special_response_handler(r, error); | 532 ngx_http_special_response_handler(r, error); |
532 return ngx_http_close_request(r, 0); | 533 ngx_http_close_request(r, 0); |
533 } | 534 return NGX_OK; |
534 | |
535 | |
536 int ngx_http_close_request(ngx_http_request_t *r, int error) | |
537 { | |
538 ngx_connection_t *c; | |
539 ngx_http_log_ctx_t *ctx; | |
540 | |
541 c = r->connection; | |
542 if (error) { | |
543 r->headers_out.status = error; | |
544 } | |
545 | |
546 ngx_http_log_handler(r); | |
547 | |
548 if (r->file.fd != NGX_INVALID_FILE) { | |
549 if (ngx_close_file(r->file.fd) == NGX_FILE_ERROR) { | |
550 ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, | |
551 ngx_close_file_n " \"%s\" failed", r->file.name.data); | |
552 } | |
553 } | |
554 | |
555 /* ctx->url was allocated from r->pool */ | |
556 ctx = (ngx_http_log_ctx_t *) c->log->data; | |
557 ctx->url = NULL; | |
558 | |
559 ngx_destroy_pool(r->pool); | |
560 | |
561 if (c->read->timer_set) { | |
562 ngx_del_timer(c->read); | |
563 c->read->timer_set = 0; | |
564 } | |
565 | |
566 if (c->write->timer_set) { | |
567 ngx_del_timer(c->write); | |
568 c->write->timer_set = 0; | |
569 } | |
570 | |
571 ngx_log_debug(c->log, "http request closed"); | |
572 | |
573 return 0; | |
574 } | 535 } |
575 | 536 |
576 | 537 |
577 int ngx_http_internal_redirect(ngx_http_request_t *r, ngx_str_t uri) | 538 int ngx_http_internal_redirect(ngx_http_request_t *r, ngx_str_t uri) |
578 { | 539 { |