nginx-0.0.1-2003-10-17-20:53:26 import
diff --git a/src/event/ngx_event_proxy.c b/src/event/ngx_event_proxy.c
index c6bd8a3..a683be3 100644
--- a/src/event/ngx_event_proxy.c
+++ b/src/event/ngx_event_proxy.c
@@ -246,7 +246,9 @@
         } else if (!p->cachable && p->in) {
             out = p->in;
 
-            if (p->busy_len + ngx_hunk_size(out->hunk) > p->max_busy_len) {
+            if (!(p->upstream_eof || p->upstream_error || p->upstream_done)
+                && (p->busy_len + ngx_hunk_size(out->hunk) > p->max_busy_len))
+            {
                 break;
             }
 
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 71b1c21..f972402 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -721,7 +721,10 @@
     n = r->header_in->last - r->header_in->pos;
 
     if (n > 0) {
+#if 0
+        /* TODO: THINK - AIO ??? */
         rev->ready = 0;
+#endif
         return n;
     }