A new MPM can't be expected to manage the existing state,
particularly if that includes processes from the previous
generation.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@
1089472 13f79535-47bb-0310-9956-
ffa450edef68
Changes with Apache 2.3.12
+ *) core: Abort if the MPM is changed across restart. [Jeff Trawick]
+
*) mod_proxy_ajp: Add support for 'ProxyErrorOverride on'. PR 50945.
[Peter Pramberger <peter pramberger.at>, Jim Jagielski]
AP_DECLARE(const char *)ap_check_mpm(void)
{
+ static const char *last_mpm_name = NULL;
+
if (!_hooks.link_mpm || _hooks.link_mpm->nelts == 0)
return "No MPM loaded.";
else if (_hooks.link_mpm->nelts > 1)
return "More than one MPM loaded.";
- else
- return NULL;
+
+ if (last_mpm_name) {
+ if (strcmp(last_mpm_name, ap_show_mpm())) {
+ return "The MPM cannot be changed during restart.";
+ }
+ }
+ else {
+ last_mpm_name = apr_pstrdup(ap_pglobal, ap_show_mpm());
+ }
+
+ return NULL;
}