nginx-0.0.3-2004-04-13-19:08:48 import
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 9233f89..976475e 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -97,8 +97,7 @@
                 return;
             }
 
-            rev->next = (ngx_event_t *) ngx_posted_events;
-            ngx_posted_events = rev; 
+            ngx_post_event(rev); 
 
             ngx_mutex_unlock(ngx_posted_events_mutex);
             return;
@@ -1613,11 +1612,11 @@
         ngx_del_conn(c, NGX_CLOSE_EVENT);
 
     } else {
-        if (c->read->active || c->read->disabled) {
+        if (c->read->active || c->read->posted || c->read->disabled) {
             ngx_del_event(c->read, NGX_READ_EVENT, NGX_CLOSE_EVENT);
         }
 
-        if (c->write->active || c->write->disabled) {
+        if (c->write->active || c->write->posted || c->write->disabled) {
             ngx_del_event(c->write, NGX_WRITE_EVENT, NGX_CLOSE_EVENT);
         }
     }