Hi,
MP_FUNC is NULL unless MP_TRACE is set (modperl_common_log.h).
MP_CHECK_WBUCKET_INIT is defined as (modperl_util.h):
#define MP_CHECK_WBUCKET_INIT(func) \
if (!rcfg->wbucket) { \
Perl_croak(aTHX_ "%s: " func " can't be called " \
"before the response phase", MP_FUNC); \
}
It doesn't check for MP_TRACE and hence passes a NULL pointer to
Perl_croak(%s).
How about this fix?
Index: src/modules/perl/modperl_util.h
===================================================================
--- src/modules/perl/modperl_util.h (revision 681109)
+++ src/modules/perl/modperl_util.h (working copy)
@@ -20,11 +20,19 @@
#include "modperl_common_util.h"
/* check whether the response phase has been initialized already */
-#define MP_CHECK_WBUCKET_INIT(func) \
- if (!rcfg->wbucket) { \
- Perl_croak(aTHX_ "%s: " func " can't be called " \
- "before the response phase", MP_FUNC); \
+#ifdef MP_TRACE
+# define MP_CHECK_WBUCKET_INIT(func) \
+ if (!rcfg->wbucket) { \
+ Perl_croak(aTHX_ "%s: " func " can't be called " \
+ "before the response phase", MP_FUNC); \
}
+#else
+# define MP_CHECK_WBUCKET_INIT(func) \
+ if (!rcfg->wbucket) { \
+ Perl_croak(aTHX_ func " can't be called " \
+ "before the response phase"); \
+ }
+#endif
/* turn off cgi header parsing. in case we are already inside
* modperl_callback_per_dir(MP_RESPONSE_HANDLER, r, MP_HOOK_RUN_FIRST);
--
Need professional mod_perl support?
Just hire me: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]