summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server/mpm/experimental/perchild/perchild.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/server/mpm/experimental/perchild/perchild.c b/server/mpm/experimental/perchild/perchild.c
index 2179b4dde7..d9f26230ce 100644
--- a/server/mpm/experimental/perchild/perchild.c
+++ b/server/mpm/experimental/perchild/perchild.c
@@ -1328,6 +1328,14 @@ int ap_mpm_run(apr_pool_t *_pconf, apr_pool_t *plog, server_rec *s)
ap_server_conf = s;
+ if ((ap_accept_lock_mech == APR_LOCK_SYSVSEM) ||
+ (ap_accept_lock_mech == APR_LOCK_POSIXSEM)) {
+ ap_log_error(APLOG_MARK, APLOG_WARNING, 0, s,
+ "Server configured for an accept lock mechanism that "
+ "cannot be used with perchild. Falling back to FCNTL.");
+ ap_accept_lock_mech = APR_LOCK_FCNTL;
+ }
+
/* Initialize cross-process accept lock */
ap_lock_fname = apr_psprintf(_pconf, "%s.%u",
ap_server_root_relative(_pconf, ap_lock_fname),