]> granicus.if.org Git - apache/blobdiff - server/listen.c
Omitted the arg
[apache] / server / listen.c
index b360f265073f62078f4c6eb5adca6affa1f83967..c5b6ab6ce42d2e40c62d54caa80a2c0688a3eac2 100644 (file)
@@ -137,7 +137,7 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
        }
     }
 
-#if DISABLE_NAGLE_INHERITED
+#if APR_TCP_NODELAY_INHERITED
     ap_sock_disable_nagle(s);
 #endif
 
@@ -157,12 +157,18 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
        return stat;
     }
 
+#ifdef APR_HAS_SO_ACCEPTFILTER
+#ifndef ACCEPT_FILTER_NAME
+#define ACCEPT_FILTER_NAME "dataready"
+#endif
+    apr_socket_accept_filter(s, ACCEPT_FILTER_NAME, "");
+#endif
+
     server->sd = s;
     server->active = 1;
     return APR_SUCCESS;
 }
 
-
 static apr_status_t close_listeners_on_exec(void *v)
 {
     ap_listen_rec *lr;
@@ -185,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,
                               p) == APR_SUCCESS) {
             apr_socket_close(tmp_sock);
             default_family = APR_INET6;
@@ -253,6 +259,7 @@ static void alloc_listener(process_rec *process, char *addr, apr_port_t port)
                      "alloc_listener: failed to get a socket for %s", addr);
         return;
     }
+    apr_socket_set_inherit(new->sd);
     new->next = ap_listeners;
     ap_listeners = new;
 }