nginx-0.0.3-2004-04-15-19:34:36 import
diff --git a/src/http/modules/proxy/ngx_http_proxy_handler.c b/src/http/modules/proxy/ngx_http_proxy_handler.c
index d7cbf96..027dc3c 100644
--- a/src/http/modules/proxy/ngx_http_proxy_handler.c
+++ b/src/http/modules/proxy/ngx_http_proxy_handler.c
@@ -428,18 +428,22 @@
 
     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 (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);
-            }
+    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) {
         return;
     }