Mercurial > hg > nginx
diff src/http/modules/proxy/ngx_http_proxy_handler.c @ 317:1308b98496a2
nginx-0.0.3-2004-04-15-19:34:36 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 15 Apr 2004 15:34:36 +0000 |
parents | 39b6f2df45c0 |
children | 159dd60d257a |
line wrap: on
line diff
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c +++ b/src/http/modules/proxy/ngx_http_proxy_handler.c @@ -428,18 +428,22 @@ void ngx_http_proxy_check_broken_connect err = ngx_socket_errno; + /* + * we do not need to disable the write event because + * that event has NGX_USE_CLEAR_EVENT type + */ + if (ev->write && (n >= 0 || err == NGX_EAGAIN)) { return; } + if ((ngx_event_flags & NGX_USE_LEVEL_EVENT) && ev->active) { + if (ngx_del_event(ev, NGX_READ_EVENT, 0) == NGX_ERROR) { + ngx_http_proxy_finalize_request(p, NGX_HTTP_INTERNAL_SERVER_ERROR); + } + } + if (n > 0) { - if ((ngx_event_flags & NGX_USE_LEVEL_EVENT) && ev->active) { - if (ngx_del_event(ev, NGX_READ_EVENT, 0) == NGX_ERROR) { - ngx_http_proxy_finalize_request(p, - NGX_HTTP_INTERNAL_SERVER_ERROR); - } - } - return; }