From 890e01bebe03299d10f30f1decebcddaf128e4e8 Mon Sep 17 00:00:00 2001 From: Rasmus Lerdorf Date: Mon, 24 Jun 2002 16:04:20 +0000 Subject: [PATCH] @ Add runtime Apache2 thread check to ensure we don't run a non-threaded @ PHP inside a threaded Apache2 MPM. (Rasmus) --- sapi/apache2filter/sapi_apache2.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sapi/apache2filter/sapi_apache2.c b/sapi/apache2filter/sapi_apache2.c index 99771cbc7f..d4f0ad7bc8 100644 --- a/sapi/apache2filter/sapi_apache2.c +++ b/sapi/apache2filter/sapi_apache2.c @@ -40,6 +40,7 @@ #include "http_main.h" #include "util_script.h" #include "http_core.h" +#include "ap_mpm.h" #include "php_apache.h" @@ -444,6 +445,15 @@ static void php_apache_add_version(apr_pool_t *p) static int php_pre_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp) { +#ifndef ZTS + int threaded_mpm; + + ap_mpm_query(AP_MPMQ_IS_THREADED, &threaded_mpm); + if(threaded_mpm) { + ap_log_error(APLOG_MARK, APLOG_CRIT, 0, 0, "Apache is running a threaded MPM, but your PHP Module is not compiled to be threadsafe. You need to recompile PHP."); + return DONE; + } +#endif /* When this is NULL, apache won't override the hard-coded default * php.ini path setting. */ apache2_php_ini_path_override = NULL; -- 2.50.1