Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 73596 invoked from network); 12 Sep 2005 00:29:36 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 12 Sep 2005 00:29:36 -0000 Received: (qmail 96289 invoked by uid 500); 12 Sep 2005 00:29:36 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 96095 invoked by uid 500); 12 Sep 2005 00:29:35 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 96082 invoked by uid 99); 12 Sep 2005 00:29:35 -0000 X-ASF-Spam-Status: No, hits=-9.8 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [209.237.227.194] (HELO minotaur.apache.org) (209.237.227.194) by apache.org (qpsmtpd/0.29) with SMTP; Sun, 11 Sep 2005 17:29:33 -0700 Received: (qmail 73431 invoked by uid 65534); 12 Sep 2005 00:29:32 -0000 Message-ID: <20050912002932.73430.qmail@minotaur.apache.org> Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit 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 -0000 To: cvs@httpd.apache.org From: brianp@apache.org X-Mailer: svnmailer-1.0.5 X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N 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; }