comparison src/http/ngx_http_request_body.c @ 634:23ef0645ea57 NGINX_1_1_1

nginx 1.1.1 *) Change: now cache loader processes either as many files as specified by "loader_files" parameter or works no more than time specified by "loader_threshold" parameter during each iteration. *) Change: now SIGWINCH signal works only in deamon mode. *) Feature: now shared zones and caches use POSIX semaphores on Solaris. Thanks to Den Ivanov. *) Feature: accept filters are now supported on NetBSD. *) Bugfix: nginx could not be build on Linux 3.0. *) Bugfix: nginx did not use gzipping in some cases; the bug had appeared in 1.1.0. *) Bugfix: request body might be incorrectly processed if client used pipelining. *) Bugfix: in the "request_body_in_single_buf" directive. *) Bugfix: in "proxy_set_body" and "proxy_pass_request_body" directives if SSL connection to backend was used. *) Bugfix: nginx hogged CPU if all servers in an upstream were marked as "down". *) Bugfix: a segmentation fault might occur during reconfiguration if ssl_session_cache was defined but not used in a previous configuration. *) Bugfix: a segmentation fault might occur in a worker process if many backup servers were used in an upstream. *) Bugfix: a segmentation fault might occur in a worker process if "fastcgi/scgi/uwsgi_param" directives were used with values starting with "HTTP_"; the bug had appeared in 0.8.40.
author Igor Sysoev <http://sysoev.ru>
date Mon, 22 Aug 2011 00:00:00 +0400
parents 1dcf6adad484
children 943566b4d82e
comparison
equal deleted inserted replaced
633:561a37709f6d 634:23ef0645ea57
141 141
142 /* the whole request body was pre-read */ 142 /* the whole request body was pre-read */
143 143
144 r->header_in->pos += (size_t) r->headers_in.content_length_n; 144 r->header_in->pos += (size_t) r->headers_in.content_length_n;
145 r->request_length += r->headers_in.content_length_n; 145 r->request_length += r->headers_in.content_length_n;
146 b->last = r->header_in->pos;
146 147
147 if (r->request_body_in_file_only) { 148 if (r->request_body_in_file_only) {
148 if (ngx_http_write_request_body(r, rb->bufs) != NGX_OK) { 149 if (ngx_http_write_request_body(r, rb->bufs) != NGX_OK) {
149 return NGX_HTTP_INTERNAL_SERVER_ERROR; 150 return NGX_HTTP_INTERNAL_SERVER_ERROR;
150 } 151 }
369 } else { 370 } else {
370 rb->bufs->buf = b; 371 rb->bufs->buf = b;
371 } 372 }
372 } 373 }
373 374
374 if (r->request_body_in_file_only && rb->bufs->next) { 375 if (rb->bufs->next
376 && (r->request_body_in_file_only || r->request_body_in_single_buf))
377 {
375 rb->bufs = rb->bufs->next; 378 rb->bufs = rb->bufs->next;
376 } 379 }
377 380
378 rb->post_handler(r); 381 rb->post_handler(r);
379 382