httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bri...@apache.org
Subject svn commit: r280221 - in /httpd/httpd/branches/async-dev: CHANGES include/httpd.h modules/http/http_core.c server/core.c
Date Mon, 12 Sep 2005 00:29:31 GMT
Author: brianp
Date: Sun Sep 11 17:29:10 2005
New Revision: 280221

URL: http://svn.apache.org/viewcvs?rev=280221&view=rev
Log:
Added new connection states CONN_STATE_HANDLER and CONN_STATE_WRITE_COMPLETION.
Also, core_create_conn() now initializes the conn_state within the newly
created connection.

Modified:
    httpd/httpd/branches/async-dev/CHANGES
    httpd/httpd/branches/async-dev/include/httpd.h
    httpd/httpd/branches/async-dev/modules/http/http_core.c
    httpd/httpd/branches/async-dev/server/core.c

Modified: httpd/httpd/branches/async-dev/CHANGES
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/async-dev/CHANGES?rev=280221&r1=280220&r2=280221&view=diff
==============================================================================
--- httpd/httpd/branches/async-dev/CHANGES [utf-8] (original)
+++ httpd/httpd/branches/async-dev/CHANGES [utf-8] Sun Sep 11 17:29:10 2005
@@ -1,4 +1,9 @@
                                                         -*- coding: utf-8 -*-
+Changes in Apache 2.3.0 async-dev R&D branch
+
+  *) Added new connection states for handler and write completion
+     [Brian Pane]
+
 Changes with Apache 2.3.0
   [Remove entries to the current 2.0 and 2.2 section below, when backported]
 

Modified: httpd/httpd/branches/async-dev/include/httpd.h
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/async-dev/include/httpd.h?rev=280221&r1=280220&r2=280221&view=diff
==============================================================================
--- httpd/httpd/branches/async-dev/include/httpd.h (original)
+++ httpd/httpd/branches/async-dev/include/httpd.h Sun Sep 11 17:29:10 2005
@@ -1074,6 +1074,8 @@
 typedef enum  {
     CONN_STATE_CHECK_REQUEST_LINE_READABLE,
     CONN_STATE_READ_REQUEST_LINE,
+    CONN_STATE_HANDLER,
+    CONN_STATE_WRITE_COMPLETION,
     CONN_STATE_LINGER,
 } conn_state_e;
 

Modified: httpd/httpd/branches/async-dev/modules/http/http_core.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/async-dev/modules/http/http_core.c?rev=280221&r1=280220&r2=280221&view=diff
==============================================================================
--- httpd/httpd/branches/async-dev/modules/http/http_core.c (original)
+++ httpd/httpd/branches/async-dev/modules/http/http_core.c Sun Sep 11 17:29:10 2005
@@ -123,6 +123,7 @@
                                                        
             ap_update_child_status(c->sbh, SERVER_BUSY_WRITE, r);
             if (r->status == HTTP_OK)
+                cs->state = CONN_STATE_HANDLER;
                 ap_process_request(r);
 
             if (ap_extended_status)
@@ -135,10 +136,12 @@
             else if (!c->data_in_input_filters) {
                 cs->state = CONN_STATE_CHECK_REQUEST_LINE_READABLE;
             }
-
-            /* else we are pipelining.  Stay in READ_REQUEST_LINE state
-             *  and stay in the loop
-             */
+            else {
+                /* else we are pipelining.  Return to READ_REQUEST_LINE state
+                 *  and stay in the loop
+                 */
+                cs->state = CONN_STATE_READ_REQUEST_LINE;
+            }
 
             apr_pool_destroy(r->pool);
         }

Modified: httpd/httpd/branches/async-dev/server/core.c
URL: http://svn.apache.org/viewcvs/httpd/httpd/branches/async-dev/server/core.c?rev=280221&r1=280220&r2=280221&view=diff
==============================================================================
--- httpd/httpd/branches/async-dev/server/core.c (original)
+++ httpd/httpd/branches/async-dev/server/core.c Sun Sep 11 17:29:10 2005
@@ -3840,6 +3840,14 @@
 
     c->id = id;
     c->bucket_alloc = alloc;
+    
+    c->cs = (conn_state_t *)apr_pcalloc(ptrans, sizeof(conn_state_t));
+    APR_RING_INIT(&(c->cs->timeout_list), conn_state_t, timeout_list);
+    c->cs->expiration_time = 0;
+    c->cs->state = CONN_STATE_CHECK_REQUEST_LINE_READABLE;
+    c->cs->c = c;
+    c->cs->p = ptrans;
+    c->cs->bucket_alloc = alloc;
 
     return c;
 }



Mime
View raw message