]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
New API for I/O layering, and dependency updates.
authorBen Laurie <ben@apache.org>
Tue, 29 Jun 1999 09:00:25 +0000 (09:00 +0000)
committerBen Laurie <ben@apache.org>
Tue, 29 Jun 1999 09:00:25 +0000 (09:00 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@83398 13f79535-47bb-0310-9956-ffa450edef68

include/http_connection.h
server/connection.c
server/mpm/prefork/prefork.c

index cbe8e74f4e756327226e6bb8c5b67f2197514282..47bf42494f9e02b5081ccfeee3ec25f4d861e9cd 100644 (file)
 extern "C" {
 #endif
 
+conn_rec *ap_new_connection(pool *p, server_rec *server, BUFF *inout,
+                           const struct sockaddr_in *remaddr,
+                           const struct sockaddr_in *saddr,
+                           int child_num);
 CORE_EXPORT(void) ap_process_connection(conn_rec *);
 
 #ifdef __cplusplus
index 2ee7680f90cf8b09359d2a0393f734347501482a..2d190489282c43aea9ea3cb9d770eb3af3444e27 100644 (file)
@@ -182,13 +182,14 @@ static void lingering_close(request_rec *r)
 }
 #endif /* ndef NO_LINGCLOSE */
 
-
 CORE_EXPORT(void) ap_process_connection(conn_rec *c)
 {
     request_rec *r;
 
     ap_update_vhost_given_ip(c);
 
+    ap_run_pre_connection(c);
+
     /*
      * Read and process each request found on our connection
      * until no requests are left or we decide to close.
@@ -235,3 +236,34 @@ CORE_EXPORT(void) ap_process_connection(conn_rec *c)
     }
 #endif
 }
+
+/* Clearly some of this stuff doesn't belong in a generalised connection
+   structure, but for now...
+*/
+
+conn_rec *ap_new_connection(pool *p, server_rec *server, BUFF *inout,
+                           const struct sockaddr_in *remaddr,
+                           const struct sockaddr_in *saddr,
+                           int child_num)
+{
+    conn_rec *conn = (conn_rec *) ap_pcalloc(p, sizeof(conn_rec));
+
+    /* Got a connection structure, so initialize what fields we can
+     * (the rest are zeroed out by pcalloc).
+     */
+
+    conn->conn_config=ap_create_conn_config(p);
+
+    conn->child_num = child_num;
+
+    conn->pool = p;
+    conn->local_addr = *saddr;
+    conn->base_server = server;
+    conn->client = inout;
+
+    conn->remote_addr = *remaddr;
+    conn->remote_ip = ap_pstrdup(conn->pool,
+                             inet_ntoa(conn->remote_addr.sin_addr));
+
+    return conn;
+}
index 8e10f3693ab5f96aaabfe7b9454ae0a979d300bc..6a84f596f2ec38bc76b81bef91982036f7552b0d 100644 (file)
@@ -2000,36 +2000,6 @@ static void set_signals(void)
 #endif
 }
 
-/*****************************************************************
- * Connection structures and accounting...
- */
-
-
-static conn_rec *new_connection(pool *p, server_rec *server, BUFF *inout,
-                            const struct sockaddr_in *remaddr,
-                            const struct sockaddr_in *saddr,
-                            int child_num)
-{
-    conn_rec *conn = (conn_rec *) ap_pcalloc(p, sizeof(conn_rec));
-
-    /* Got a connection structure, so initialize what fields we can
-     * (the rest are zeroed out by pcalloc).
-     */
-
-    conn->child_num = child_num;
-
-    conn->pool = p;
-    conn->local_addr = *saddr;
-    conn->base_server = server;
-    conn->client = inout;
-
-    conn->remote_addr = *remaddr;
-    conn->remote_ip = ap_pstrdup(conn->pool,
-                             inet_ntoa(conn->remote_addr.sin_addr));
-
-    return conn;
-}
-
 #if defined(TCP_NODELAY) && !defined(MPE) && !defined(TPF)
 static void sock_disable_nagle(int s)
 {
@@ -2353,10 +2323,10 @@ static void child_main(int child_num_arg)
 
        ap_bpush_iol(conn_io, iol);
 
-       current_conn = new_connection(ptrans, server_conf, conn_io,
-                                         (struct sockaddr_in *) &sa_client,
-                                         (struct sockaddr_in *) &sa_server,
-                                         my_child_num);
+       current_conn = ap_new_connection(ptrans, server_conf, conn_io,
+                                        (struct sockaddr_in *) &sa_client,
+                                        (struct sockaddr_in *) &sa_server,
+                                        my_child_num);
 
        ap_process_connection(current_conn);
     }