]> git.kaiwu.me - nginx.git/commitdiff
nginx-0.0.1-2003-04-23-18:34:42 import
authorIgor Sysoev <igor@sysoev.ru>
Wed, 23 Apr 2003 14:34:42 +0000 (14:34 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Wed, 23 Apr 2003 14:34:42 +0000 (14:34 +0000)
src/http/modules/proxy/ngx_http_event_proxy_handler.c

index 26277b48dfe3a3938cd50896193dcc83361c92d4..ab90aeb3ae274127017d1deb217ca9477f5a6138 100644 (file)
@@ -371,8 +371,7 @@ static int ngx_http_proxy_process_upstream(ngx_http_proxy_ctx_t *p,
             return NGX_DONE;
         }
 
-        if (p->tries        /* STUB !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! */
-
+        if (p->tries > 1
             && (rc == NGX_HTTP_BAD_GATEWAY
                 || rc == NGX_HTTP_GATEWAY_TIME_OUT
                 || (rc == NGX_OK
@@ -1083,7 +1082,12 @@ static int ngx_http_proxy_read_upstream_body(ngx_http_proxy_ctx_t *p)
     int  rc;
 
     rc = ngx_event_proxy_read_upstream(p->event_proxy);
-    if (rc == NGX_OK) {
+
+    if (p->event_proxy->fatal_error) {
+        return NGX_HTTP_INTERNAL_SERVER_ERROR;
+    }
+
+    if (p->event_proxy->upstream_eof && p->event_proxy->upstream_error) {
         rc = ngx_event_close_connection(p->connection->read);
     }