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