Author: torsten Date: Mon Feb 13 20:30:17 2012 New Revision: 1243679 URL: http://svn.apache.org/viewvc?rev=1243679&view=rev Log: eliminate MP_dSCFG_dTHX
Modified: perl/modperl/branches/threading/src/modules/perl/modperl_config.h perl/modperl/branches/threading/src/modules/perl/modperl_handler.c Modified: perl/modperl/branches/threading/src/modules/perl/modperl_config.h URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_config.h?rev=1243679&r1=1243678&r2=1243679&view=diff ============================================================================== --- perl/modperl/branches/threading/src/modules/perl/modperl_config.h (original) +++ perl/modperl/branches/threading/src/modules/perl/modperl_config.h Mon Feb 13 20:30:17 2012 @@ -118,14 +118,6 @@ void modperl_set_perl_module_config(ap_c #define MP_dSCFG(s) \ modperl_config_srv_t *scfg = modperl_config_srv_get(s) -#ifdef USE_ITHREADS -# define MP_dSCFG_dTHX \ - dTHXa(scfg->mip->parent->perl); \ - PERL_SET_CONTEXT(aTHX) -#else -# define MP_dSCFG_dTHX dTHXa(scfg->perl) -#endif - int modperl_config_apply_PerlModule(server_rec *s, modperl_config_srv_t *scfg, PerlInterpreter *perl, apr_pool_t *p); Modified: perl/modperl/branches/threading/src/modules/perl/modperl_handler.c URL: http://svn.apache.org/viewvc/perl/modperl/branches/threading/src/modules/perl/modperl_handler.c?rev=1243679&r1=1243678&r2=1243679&view=diff ============================================================================== --- perl/modperl/branches/threading/src/modules/perl/modperl_handler.c (original) +++ perl/modperl/branches/threading/src/modules/perl/modperl_handler.c Mon Feb 13 20:30:17 2012 @@ -345,9 +345,15 @@ void modperl_handler_make_args(pTHX_ AV #define set_desc(dtype) \ if (desc) *desc = modperl_handler_desc_##dtype(idx) +/* We should be able to use PERL_GET_CONTEXT here. The rcfg condition + * makes sure there is a request being processed. The action > GET part + * means it is a $r->set_handlers or $r->push_handlers operation. This + * can only happen if called by perl code. + */ #define check_modify(dtype) \ if ((action > MP_HANDLER_ACTION_GET) && rcfg) { \ - MP_dSCFG_dTHX; \ + dTHXa(PERL_GET_CONTEXT); \ + MP_ASSERT(aTHX+0); \ Perl_croak(aTHX_ "too late to modify %s handlers", \ modperl_handler_desc_##dtype(idx)); \ }