]> granicus.if.org Git - apache/commitdiff
Added an inherit flag to apr_socket_create and other socket creation
authorRyan Bloom <rbb@apache.org>
Mon, 16 Jul 2001 16:11:05 +0000 (16:11 +0000)
committerRyan Bloom <rbb@apache.org>
Mon, 16 Jul 2001 16:11:05 +0000 (16:11 +0000)
functions.  This allows APR programs to specify that a socket should
be passed to any child processes that are created.  The inherit flag
is only meaningful if programs use apr_process_create().  This
also adds a couple of macros that allow APR types to set and unset
the inherit flag.

This also fixes Apache to use the new API.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@89557 13f79535-47bb-0310-9956-ffa450edef68

server/listen.c
server/mpm_common.c
server/rfc1413.c
support/ab.c

index a525de09ba3b45aab73135cb2d2d92e362a34fb2..bdc777c588dc1e375140b1021bf644f3e8f8fd0d 100644 (file)
@@ -191,7 +191,7 @@ static void find_default_family(apr_pool_t *p)
     if (default_family == APR_UNSPEC) {
         apr_socket_t *tmp_sock;
 
-        if (apr_socket_create(&tmp_sock, APR_INET6, SOCK_STREAM, 
+        if (apr_socket_create(&tmp_sock, APR_INET6, SOCK_STREAM, APR_INHERIT,
                               p) == APR_SUCCESS) {
             apr_socket_close(tmp_sock);
             default_family = APR_INET6;
@@ -254,7 +254,7 @@ static void alloc_listener(process_rec *process, char *addr, apr_port_t port)
         return;
     }
     if ((status = apr_socket_create(&new->sd, new->bind_addr->sa.sin.sin_family, 
-                                    SOCK_STREAM, process->pool)) != APR_SUCCESS) {
+                                    SOCK_STREAM, APR_INHERIT, process->pool)) != APR_SUCCESS) {
         ap_log_perror(APLOG_MARK, APLOG_CRIT, status, process->pool,
                      "alloc_listener: failed to get a socket for %s", addr);
         return;
index 006d813341d959361a8b21b6d41dc70b1c9a9b93..beba575bf8d4a2cfdc9c20353368e539036e8088 100644 (file)
@@ -403,7 +403,7 @@ AP_DECLARE(apr_status_t) ap_mpm_pod_signal(ap_pod_t *pod)
     }
     
     apr_sockaddr_info_get(&sa, "127.0.0.1", APR_UNSPEC, ap_listeners->bind_addr->port, 0, pod->p);
-    rv = apr_socket_create(&sock, sa->family, SOCK_STREAM, pod->p);
+    rv = apr_socket_create(&sock, sa->family, SOCK_STREAM, APR_NO_INHERIT, pod->p);
     if (rv != APR_SUCCESS) {
         ap_log_error(APLOG_MARK, APLOG_WARNING, rv, ap_server_conf,
                      "get socket to connect to listener");
index 40d221bc10bcc07439f7811b65c69ceaeeb43452..41619b19c288310bbdcfcab021b158dad3d1bfe0 100644 (file)
@@ -83,6 +83,7 @@
 #include "apr_network_io.h"
 #include "apr_strings.h"
 #include "apr_lib.h"
+#include "apr_inherit.h"
 
 #define APR_WANT_STDIO
 #define APR_WANT_STRFUNC
@@ -140,7 +141,7 @@ static apr_status_t rfc1413_connect(apr_socket_t **newsock, conn_rec *conn,
 
     if ((rv = apr_socket_create(newsock, 
                                 localsa->sa.sin.sin_family, /* has to match */
-                                SOCK_STREAM, conn->pool)) != APR_SUCCESS) {
+                                SOCK_STREAM, APR_NO_INHERIT, conn->pool)) != APR_SUCCESS) {
        ap_log_error(APLOG_MARK, APLOG_CRIT, rv, srv,
                      "rfc1413: error creating query socket");
         return rv;
index 3186049ab774565e2eaa1c141ba18d3569670152..0ff1cec32114ad4d38ac6e662b0f2b191023c8b6 100644 (file)
@@ -844,7 +844,7 @@ static void start_connect(struct connection * c)
        apr_err(buf, rv);
     }
     if ((rv = apr_socket_create(&c->aprsock, destsa->sa.sin.sin_family,
-                               SOCK_STREAM, cntxt)) != APR_SUCCESS) {
+                               SOCK_STREAM, APR_NO_INHERIT, cntxt)) != APR_SUCCESS) {
        apr_err("socket", rv);
     }
     c->start = apr_time_now();
@@ -1289,14 +1289,14 @@ static void test(void)
 static void copyright(void)
 {
     if (!use_html) {
-       printf("This is ApacheBench, Version %s\n", AB_VERSION " <$Revision: 1.72 $> apache-2.0");
+       printf("This is ApacheBench, Version %s\n", AB_VERSION " <$Revision: 1.73 $> apache-2.0");
        printf("Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/\n");
        printf("Copyright (c) 1998-2001 The Apache Software Foundation, http://www.apache.org/\n");
        printf("\n");
     }
     else {
        printf("<p>\n");
-       printf(" This is ApacheBench, Version %s <i>&lt;%s&gt;</i> apache-2.0<br>\n", AB_VERSION, "$Revision: 1.72 $");
+       printf(" This is ApacheBench, Version %s <i>&lt;%s&gt;</i> apache-2.0<br>\n", AB_VERSION, "$Revision: 1.73 $");
        printf(" Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/<br>\n");
        printf(" Copyright (c) 1998-2001 The Apache Software Foundation, http://www.apache.org/<br>\n");
        printf("</p>\n<p>\n");