Mercurial > hg > nginx-vendor-current
diff src/event/ngx_event_pipe.c @ 70:8ad297c88dcb NGINX_0_1_35
nginx 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; bug 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"; bug appeared in 0.1.28.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Tue, 07 Jun 2005 00:00:00 +0400 |
parents | b55cbf18157e |
children | da9a3b14312d |
line wrap: on
line diff
--- 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_ups 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_ch 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;