comparison src/event/ngx_event_pipe.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 820f6378fc00
children c8cfb6c462ef
comparison
equal deleted inserted replaced
429:3b8e9d1bc9bb 430:dac47e9ef0d5
54 if (p->upstream->fd != -1) { 54 if (p->upstream->fd != -1) {
55 rev = p->upstream->read; 55 rev = p->upstream->read;
56 56
57 flags = (rev->eof || rev->error) ? NGX_CLOSE_EVENT : 0; 57 flags = (rev->eof || rev->error) ? NGX_CLOSE_EVENT : 0;
58 58
59 if (ngx_handle_read_event(rev, flags) == NGX_ERROR) { 59 if (ngx_handle_read_event(rev, flags) != NGX_OK) {
60 return NGX_ABORT; 60 return NGX_ABORT;
61 } 61 }
62 62
63 if (rev->active && !rev->ready) { 63 if (rev->active && !rev->ready) {
64 ngx_add_timer(rev, p->read_timeout); 64 ngx_add_timer(rev, p->read_timeout);
68 } 68 }
69 } 69 }
70 70
71 if (p->downstream->fd != -1 && p->downstream->data == p->output_ctx) { 71 if (p->downstream->fd != -1 && p->downstream->data == p->output_ctx) {
72 wev = p->downstream->write; 72 wev = p->downstream->write;
73 if (ngx_handle_write_event(wev, p->send_lowat) == NGX_ERROR) { 73 if (ngx_handle_write_event(wev, p->send_lowat) != NGX_OK) {
74 return NGX_ABORT; 74 return NGX_ABORT;
75 } 75 }
76 76
77 if (!wev->delayed) { 77 if (!wev->delayed) {
78 if (wev->active && !wev->ready) { 78 if (wev->active && !wev->ready) {