Author: torsten
Date: Wed Feb 8 19:46:39 2012
New Revision: 1242050
URL: http://svn.apache.org/viewvc?rev=1242050&view=rev
Log:
remove a bit of code complexity
modperl_module.c contains these 2 lines:
interp = modperl_interp_pool_select(p, s);
MP_PERL_CONTEXT_STORE_OVERRIDE(interp->perl);
The latter decodes as
orig_perl = PERL_GET_CONTEXT;
aTHX = interp->perl;
PERL_SET_CONTEXT(aTHX);
Now, modperl_interp_pool_select() already calls PERL_SET_CONTEXT with the
newly allocated interpreter. So, we get
PERL_SET_CONTEXT(interp->perl);
orig_perl = PERL_GET_CONTEXT;
aTHX = interp->perl;
PERL_SET_CONTEXT(aTHX);
But this is the same as
interp = modperl_interp_pool_select(p, s);
aTHX = interp->perl;
Modified:
perl/modperl/branches/threading/src/modules/perl/modperl_module.c
Modified: perl/modperl/branches/threading/src/modules/perl/modperl_module.c
URL:
http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_module.c?rev=1242050&r1=1242049&r2=1242050&view=diff
==============================================================================
--- perl/modperl/branches/threading/src/modules/perl/modperl_module.c (original)
+++ perl/modperl/branches/threading/src/modules/perl/modperl_module.c Wed Feb
8 19:46:39 2012
@@ -168,7 +168,7 @@ static void *modperl_module_config_merge
SV *mrg_obj = Nullsv, *base_obj, *add_obj;
#ifdef USE_ITHREADS
modperl_interp_t *interp;
- MP_PERL_CONTEXT_DECLARE;
+ pTHX;
#endif
/* if the module is loaded in vhost, base==NULL */
@@ -184,7 +184,7 @@ static void *modperl_module_config_merge
#ifdef USE_ITHREADS
interp = modperl_interp_pool_select(p, s);
- MP_PERL_CONTEXT_STORE_OVERRIDE(interp->perl);
+ aTHX = interp->perl;
#endif
table = modperl_module_config_table_get(aTHX_ TRUE);
@@ -196,7 +196,6 @@ static void *modperl_module_config_merge
MP_TRACE_i(MP_FUNC, "unselecting: (0x%lx)->refcnt=%ld",
interp, interp->refcnt);
modperl_interp_unselect(interp);
- MP_PERL_CONTEXT_RESTORE;
#endif
return addv;
}
@@ -250,7 +249,6 @@ static void *modperl_module_config_merge
MP_TRACE_i(MP_FUNC, "unselecting: (0x%lx)->refcnt=%ld",
interp, interp->refcnt);
modperl_interp_unselect(interp);
- MP_PERL_CONTEXT_RESTORE;
#endif
return (void *)mrg;