comparison src/mail/ngx_mail_proxy_module.c @ 439: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 ad0a34a8efa6
children ce4f9ff90bfa
comparison
equal deleted inserted replaced
438:3b8e9d1bc9bb 439:dac47e9ef0d5
199 ngx_connection_t *c; 199 ngx_connection_t *c;
200 ngx_mail_session_t *s; 200 ngx_mail_session_t *s;
201 201
202 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, rev->log, 0, "mail proxy block read"); 202 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, rev->log, 0, "mail proxy block read");
203 203
204 if (ngx_handle_read_event(rev, 0) == NGX_ERROR) { 204 if (ngx_handle_read_event(rev, 0) != NGX_OK) {
205 c = rev->data; 205 c = rev->data;
206 s = c->data; 206 s = c->data;
207 207
208 ngx_mail_proxy_close_session(s); 208 ngx_mail_proxy_close_session(s);
209 } 209 }
662 ngx_connection_t *c; 662 ngx_connection_t *c;
663 ngx_mail_session_t *s; 663 ngx_mail_session_t *s;
664 664
665 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, wev->log, 0, "mail proxy dummy handler"); 665 ngx_log_debug0(NGX_LOG_DEBUG_MAIL, wev->log, 0, "mail proxy dummy handler");
666 666
667 if (ngx_handle_write_event(wev, 0) == NGX_ERROR) { 667 if (ngx_handle_write_event(wev, 0) != NGX_OK) {
668 c = wev->data; 668 c = wev->data;
669 s = c->data; 669 s = c->data;
670 670
671 ngx_mail_proxy_close_session(s); 671 ngx_mail_proxy_close_session(s);
672 } 672 }
945 945
946 ngx_mail_proxy_close_session(s); 946 ngx_mail_proxy_close_session(s);
947 return; 947 return;
948 } 948 }
949 949
950 if (ngx_handle_write_event(dst->write, 0) == NGX_ERROR) { 950 if (ngx_handle_write_event(dst->write, 0) != NGX_OK) {
951 ngx_mail_proxy_close_session(s); 951 ngx_mail_proxy_close_session(s);
952 return; 952 return;
953 } 953 }
954 954
955 if (ngx_handle_read_event(dst->read, 0) == NGX_ERROR) { 955 if (ngx_handle_read_event(dst->read, 0) != NGX_OK) {
956 ngx_mail_proxy_close_session(s); 956 ngx_mail_proxy_close_session(s);
957 return; 957 return;
958 } 958 }
959 959
960 if (ngx_handle_write_event(src->write, 0) == NGX_ERROR) { 960 if (ngx_handle_write_event(src->write, 0) != NGX_OK) {
961 ngx_mail_proxy_close_session(s); 961 ngx_mail_proxy_close_session(s);
962 return; 962 return;
963 } 963 }
964 964
965 if (ngx_handle_read_event(src->read, 0) == NGX_ERROR) { 965 if (ngx_handle_read_event(src->read, 0) != NGX_OK) {
966 ngx_mail_proxy_close_session(s); 966 ngx_mail_proxy_close_session(s);
967 return; 967 return;
968 } 968 }
969 969
970 if (c == s->connection) { 970 if (c == s->connection) {