Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/event
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-06-07 19:56:31 +0400
committerIgor Sysoev <igor@sysoev.ru>2005-06-07 19:56:31 +0400
commit7b190b41b0d9885e523f3efd9efcbf94b6abe961 (patch)
tree4a5e4edda3e4a287a4343e341df38b9c7495ee82 /src/event
parent3c8b02a267b310fb0926ee3c63196f976720e113 (diff)
nginx-0.1.35-RELEASE importrelease-0.1.35
*) Feature: the "working_directory" directive. *) Feature: the "port_in_redirect" directive. *) Bugfix: the segmentation fault was occurred if the backend response header was in several packets; the bug had appeared in 0.1.29. *) Bugfix: if more than 10 servers were configured or some server did not use the "listen" directive, then the segmentation fault was occurred on the start. *) Bugfix: the segmentation fault might occur if the response was bigger than the temporary file. *) Bugfix: nginx returned the 400 response on requests like "GET http://www.domain.com/uri HTTP/1.0"; the bug had appeared in 0.1.28.
Diffstat (limited to 'src/event')
-rw-r--r--src/event/ngx_event_pipe.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c
index 5d26405e2..e18621167 100644
--- a/src/event/ngx_event_pipe.c
+++ b/src/event/ngx_event_pipe.c
@@ -210,6 +210,10 @@ static ngx_int_t ngx_event_pipe_read_upstream(ngx_event_pipe_t *p)
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0,
"pipe temp offset: %O", p->temp_file->offset);
+ if (rc == NGX_BUSY) {
+ break;
+ }
+
if (rc == NGX_AGAIN) {
if (ngx_event_flags & NGX_USE_LEVEL_EVENT
&& p->upstream->read->active
@@ -617,6 +621,10 @@ static ngx_int_t ngx_event_pipe_write_chain_to_temp_file(ngx_event_pipe_t *p)
ngx_log_debug1(NGX_LOG_DEBUG_EVENT, p->log, 0, "size: %z", size);
+ if (ll == NULL) {
+ return NGX_BUSY;
+ }
+
if (cl) {
p->in = cl;
*ll = NULL;