gozer 2004/09/17 21:33:34
Modified: src/modules/perl mod_perl.c mod_perl.h modperl_config.c
modperl_interp.c modperl_types.h
Log:
Get rid of the threaded_mpm member from modperl_config_srv_t. Use a
global instead.
Revision Changes Path
1.221 +11 -8 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.220
retrieving revision 1.221
diff -u -r1.220 -r1.221
--- mod_perl.c 7 Aug 2004 02:52:08 -0000 1.220
+++ mod_perl.c 18 Sep 2004 04:33:34 -0000 1.221
@@ -35,6 +35,13 @@
return MP_threads_started;
}
+static int MP_threaded_mpm = 0;
+
+int modperl_threaded_mpm(void)
+{
+ return MP_threaded_mpm;
+}
+
#ifndef USE_ITHREADS
static apr_status_t modperl_shutdown(void *data)
{
@@ -397,7 +404,7 @@
base_server->server_hostname));
#ifndef USE_ITHREADS
- if (base_scfg->threaded_mpm) {
+ if (modperl_threaded_mpm()) {
ap_log_error(APLOG_MARK, APLOG_ERR, 0, base_server,
"cannot use threaded MPM without ithreads enabled Perl");
exit(1);
@@ -428,7 +435,7 @@
char *base_name = modperl_server_desc(s, p);
#endif /* MP_TRACE */
- if (!base_scfg->threaded_mpm) {
+ if (!modperl_threaded_mpm()) {
MP_TRACE_i(MP_FUNC, "no clones created for non-threaded mpm\n");
return;
}
@@ -469,13 +476,11 @@
void modperl_init_globals(server_rec *s, apr_pool_t *pconf)
{
- int threaded_mpm;
- ap_mpm_query(AP_MPMQ_IS_THREADED, &threaded_mpm);
+ ap_mpm_query(AP_MPMQ_IS_THREADED, &MP_threaded_mpm);
MP_TRACE_g(MP_FUNC, "mod_perl globals are configured\n");
modperl_global_init_pconf(pconf, pconf);
- modperl_global_init_threaded_mpm(pconf, threaded_mpm);
modperl_global_init_server_rec(pconf, s);
modperl_tls_create_request_rec(pconf);
@@ -627,11 +632,9 @@
static int modperl_hook_post_config_last(apr_pool_t *pconf, apr_pool_t *plog,
apr_pool_t *ptemp, server_rec *s)
{
- MP_dSCFG(s);
-
/* in the threaded environment, no server_rec/process_rec
* modifications should be done beyond this point */
- if (scfg->threaded_mpm) {
+ if (modperl_threaded_mpm()) {
MP_threads_started = 1;
}
1.69 +1 -0 modperl-2.0/src/modules/perl/mod_perl.h
Index: mod_perl.h
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -r1.68 -r1.69
--- mod_perl.h 10 Jul 2004 00:36:19 -0000 1.68
+++ mod_perl.h 18 Sep 2004 04:33:34 -0000 1.69
@@ -94,6 +94,7 @@
#include "modperl_debug.h"
int modperl_threads_started(void);
+int modperl_threaded_mpm(void);
#define MP_CROAK_IF_THREADS_STARTED(what) \
if (modperl_threads_started()) { \
1.82 +0 -3 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.81
retrieving revision 1.82
diff -u -r1.81 -r1.82
--- modperl_config.c 9 Sep 2004 22:39:11 -0000 1.81
+++ modperl_config.c 18 Sep 2004 04:33:34 -0000 1.82
@@ -260,8 +260,6 @@
{
modperl_config_srv_t *scfg = modperl_config_srv_new(p);
- ap_mpm_query(AP_MPMQ_IS_THREADED, &scfg->threaded_mpm);
-
if (!s->is_virtual) {
/* give a chance to MOD_PERL_TRACE env var to set
@@ -335,7 +333,6 @@
mrg->setvars = add->setvars;
mrg->addvars = add->addvars;
- merge_item(threaded_mpm);
merge_item(server);
#ifdef USE_ITHREADS
1.63 +3 -3 modperl-2.0/src/modules/perl/modperl_interp.c
Index: modperl_interp.c
===================================================================
RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_interp.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- modperl_interp.c 29 Apr 2004 22:06:55 -0000 1.62
+++ modperl_interp.c 18 Sep 2004 04:33:34 -0000 1.63
@@ -248,7 +248,7 @@
MP_TRACE_i(MP_FUNC, "server=%s\n", modperl_server_desc(s, p));
- if (scfg->threaded_mpm) {
+ if (modperl_threaded_mpm()) {
mip->tipool = modperl_tipool_new(p, scfg->interp_pool_cfg,
&interp_pool_func, mip);
}
@@ -341,7 +341,7 @@
MP_dSCFG(s);
modperl_interp_t *interp = NULL;
- if (scfg && (is_startup || !scfg->threaded_mpm)) {
+ if (scfg && (is_startup || !modperl_threaded_mpm())) {
MP_TRACE_i(MP_FUNC, "using parent interpreter at %s\n",
is_startup ? "startup" : "request time (non-threaded MPM)");
@@ -383,7 +383,7 @@
int is_subrequest = (r && r->main) ? 1 : 0;
modperl_interp_scope_e scope;
- if (!scfg->threaded_mpm) {
+ if (!modperl_threaded_mpm()) {
MP_TRACE_i(MP_FUNC,
"using parent 0x%lx for non-threaded mpm (%s:%d)\n",
(unsigned long)scfg->mip->parent,
1.77 +0 -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.76
retrieving revision 1.77
diff -u -r1.76 -r1.77
--- modperl_types.h 18 Aug 2004 22:05:16 -0000 1.76
+++ modperl_types.h 18 Sep 2004 04:33:34 -0000 1.77
@@ -137,7 +137,6 @@
MpAV *handlers_process[MP_HANDLER_NUM_PROCESS];
MpAV *handlers_pre_connection[MP_HANDLER_NUM_PRE_CONNECTION];
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;