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)); \
}