]> git.kaiwu.me - nginx.git/commitdiff
Stream: avoid infinite loop in case of socket read error.
authorVladimir Homutov <vl@nginx.com>
Wed, 11 Jan 2017 09:01:56 +0000 (12:01 +0300)
committerVladimir Homutov <vl@nginx.com>
Wed, 11 Jan 2017 09:01:56 +0000 (12:01 +0300)
src/stream/ngx_stream_proxy_module.c

index bfd78d5bb2b57396f73c8cd99df866ef77d4cfb2..81a0891dea5030ba45a80e91925b19d8e0cc5ed1 100644 (file)
@@ -1534,8 +1534,9 @@ ngx_stream_proxy_process(ngx_stream_session_t *s, ngx_uint_t from_upstream,
 
         size = b->end - b->last;
 
-        if (size && src->read->ready && !src->read->delayed) {
-
+        if (size && src->read->ready && !src->read->delayed
+            && !src->read->error)
+        {
             if (limit_rate) {
                 limit = (off_t) limit_rate * (ngx_time() - u->start_sec + 1)
                         - *received;