summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES3
-rw-r--r--server/listen.c6
2 files changed, 9 insertions, 0 deletions
diff --git a/CHANGES b/CHANGES
index 753a5ea45f..3dc91bf2b3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -2,6 +2,9 @@ Changes with Apache 2.1.0-dev
[Remove entries to the current 2.0 section below, when backported]
+ *) FreeBSD: Use the httpready accept filter instead of dataready on
+ newer levels of the OS. [Paul Querna <chip force-elite.com>]
+
*) Delete some make-generated files in the server directory during
"make clean" processing. PR 26552. [Jeff Trawick]
diff --git a/server/listen.c b/server/listen.c
index 12f7d49d7e..ebb2817c40 100644
--- a/server/listen.c
+++ b/server/listen.c
@@ -199,8 +199,14 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
#if APR_HAS_SO_ACCEPTFILTER
#ifndef ACCEPT_FILTER_NAME
+#define ACCEPT_FILTER_NAME "httpready"
+#ifdef __FreeBSD_version
+#if __FreeBSD_version < 411000 /* httpready broken before 4.1.1 */
+#undef ACCEPT_FILTER_NAME
#define ACCEPT_FILTER_NAME "dataready"
#endif
+#endif
+#endif
apr_socket_accept_filter(s, ACCEPT_FILTER_NAME, "");
#endif