comparison src/http/ngx_http_request_body.c @ 430:dac47e9ef0d5 NGINX_0_7_27

nginx 0.7.27 *) Feature: the "try_files" directive. *) Feature: variables support in the "fastcgi_pass" directive. *) Feature: now the $geo variable may get an address from a variable. Thanks to Andrei Nigmatulin. *) Feature: now a location's modifier may be used without space before name. *) Feature: the $upstream_response_length variable. *) Bugfix: now a "add_header" directive does not add an empty value. *) Bugfix: if zero length static file was requested, then nginx just closed connection; the bug had appeared in 0.7.25. *) Bugfix: a MOVE method could not move file in non-existent directory. *) Bugfix: a segmentation fault occurred in worker process, if no one named location was defined in server, but some one was used in an error_page directive. Thanks to Sergey Bochenkov.
author Igor Sysoev <http://sysoev.ru>
date Mon, 15 Dec 2008 00:00:00 +0300
parents 79c5df00501e
children ce4f9ff90bfa
comparison
equal deleted inserted replaced
429:3b8e9d1bc9bb 430:dac47e9ef0d5
325 325
326 if (!c->read->ready) { 326 if (!c->read->ready) {
327 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); 327 clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module);
328 ngx_add_timer(c->read, clcf->client_body_timeout); 328 ngx_add_timer(c->read, clcf->client_body_timeout);
329 329
330 if (ngx_handle_read_event(c->read, 0) == NGX_ERROR) { 330 if (ngx_handle_read_event(c->read, 0) != NGX_OK) {
331 return NGX_HTTP_INTERNAL_SERVER_ERROR; 331 return NGX_HTTP_INTERNAL_SERVER_ERROR;
332 } 332 }
333 333
334 return NGX_AGAIN; 334 return NGX_AGAIN;
335 } 335 }
460 460
461 r->discard_body = 1; 461 r->discard_body = 1;
462 462
463 r->read_event_handler = ngx_http_read_discarded_request_body_handler; 463 r->read_event_handler = ngx_http_read_discarded_request_body_handler;
464 464
465 if (ngx_handle_read_event(rev, 0) == NGX_ERROR) { 465 if (ngx_handle_read_event(rev, 0) != NGX_OK) {
466 return NGX_HTTP_INTERNAL_SERVER_ERROR; 466 return NGX_HTTP_INTERNAL_SERVER_ERROR;
467 } 467 }
468 468
469 (void) ngx_http_read_discarded_request_body(r); 469 (void) ngx_http_read_discarded_request_body(r);
470 470
517 return; 517 return;
518 } 518 }
519 519
520 /* rc == NGX_AGAIN */ 520 /* rc == NGX_AGAIN */
521 521
522 if (ngx_handle_read_event(rev, 0) == NGX_ERROR) { 522 if (ngx_handle_read_event(rev, 0) != NGX_OK) {
523 c->error = 1; 523 c->error = 1;
524 ngx_http_finalize_request(r, rc); 524 ngx_http_finalize_request(r, rc);
525 return; 525 return;
526 } 526 }
527 527