}
}
-#if DISABLE_NAGLE_INHERITED
+#if APR_TCP_NODELAY_INHERITED
ap_sock_disable_nagle(s);
#endif
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;
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;
"alloc_listener: failed to get a socket for %s", addr);
return;
}
+ apr_socket_set_inherit(new->sd);
new->next = ap_listeners;
ap_listeners = new;
}