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;


Reply via email to