dougm 01/04/03 22:12:54
Modified: src/modules/perl mod_perl.c modperl_config.c modperl_types.h
Log:
abort server startup if mpm is threaded and Perl is not ithreads enabled
Revision Changes Path
1.41 +8 -0 modperl-2.0/src/modules/perl/mod_perl.c
Index: mod_perl.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v
retrieving revision 1.40
retrieving revision 1.41
diff -u -r1.40 -r1.41
--- mod_perl.c 2001/03/25 17:42:26 1.40
+++ mod_perl.c 2001/04/04 05:12:54 1.41
@@ -77,6 +77,14 @@
MP_TRACE_d_do(MpSrv_dump_flags(base_scfg,
base_server->server_hostname));
+#ifndef USE_ITHREADS
+ if (base_scfg->threaded_mpm) {
+ ap_log_error(APLOG_MARK, APLOG_ERR, 0, base_server,
+ "cannot use threaded MPM without ithreads enabled Perl");
+ exit(1);
+ }
+#endif
+
if (!MpSrvENABLED(base_scfg)) {
/* how silly */
return;
1.30 +4 -2 modperl-2.0/src/modules/perl/modperl_config.c
Index: modperl_config.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_config.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- modperl_config.c 2001/03/26 01:08:29 1.29
+++ modperl_config.c 2001/04/04 05:12:54 1.30
@@ -117,9 +117,10 @@
{
modperl_config_srv_t *scfg = modperl_config_srv_new(p);
-#ifdef USE_ITHREADS
ap_mpm_query(AP_MPMQ_IS_THREADED, &scfg->threaded_mpm);
+#ifdef USE_ITHREADS
+
scfg->interp_pool_cfg =
(modperl_tipool_config_t *)
apr_pcalloc(p, sizeof(*scfg->interp_pool_cfg));
@@ -149,11 +150,12 @@
MP_TRACE_d(MP_FUNC, "basev==0x%lx, addv==0x%lx\n",
(unsigned long)basev, (unsigned long)addv);
+ merge_item(threaded_mpm);
+
#ifdef USE_ITHREADS
merge_item(mip);
merge_item(interp_pool_cfg);
merge_item(interp_lifetime);
- merge_item(threaded_mpm);
#else
merge_item(perl);
#endif
1.31 +1 -1 modperl-2.0/src/modules/perl/modperl_types.h
Index: modperl_types.h
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_types.h,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- modperl_types.h 2001/03/25 17:42:27 1.30
+++ modperl_types.h 2001/04/04 05:12:54 1.31
@@ -113,11 +113,11 @@
MpAV *handlers_files[MP_HANDLER_NUM_FILES];
MpAV *handlers_process[MP_HANDLER_NUM_PROCESS];
MpAV *handlers_connection[MP_HANDLER_NUM_CONNECTION];
+ int threaded_mpm;
#ifdef USE_ITHREADS
modperl_interp_pool_t *mip;
modperl_tipool_config_t *interp_pool_cfg;
modperl_interp_lifetime_e interp_lifetime;
- int threaded_mpm;
#else
PerlInterpreter *perl;
#endif