nginx-0.0.1-2003-11-18-19:49:00 import
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 9dd040e..a59b12a 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -664,6 +664,10 @@
         return n;
     }
 
+    if (!rev->ready) {
+        return NGX_AGAIN;
+    }
+
     n = ngx_recv(r->connection, r->header_in->last,
                  r->header_in->end - r->header_in->last);
 
@@ -853,7 +857,8 @@
                                         ngx_http_core_module);
     ngx_add_timer(wev, clcf->send_timeout);
 
-    if (ngx_handle_write_event(wev, clcf->send_lowat) == NGX_ERROR) {
+    wev->available = clcf->send_lowat;
+    if (ngx_handle_write_event(wev, NGX_LOWAT_EVENT) == NGX_ERROR) {
         ngx_http_close_request(r, 0);
         ngx_http_close_connection(r->connection);
     }