>   -            if (modperl_require_module(aTHX_ name, FALSE)) {
>   +            if (modperl_require_module(aTHX_ name, logfailure)) {
>                    MP_TRACE_h(MP_FUNC, "loaded %s package\n", name);
>                }
>                else {
>   -                MP_TRACE_h(MP_FUNC, "failed to load %s package\n", name);
>   -                return 0;
>   +                Perl_croak(aTHX_ "failed to load %s package\n", name);

there is a problem here if a module contains syntax errors but is not loaded
with PerlModule.

before, the modperl_mgv_resolve would return 0 and the ERRSV was caught in
modperl_callback, where it was propagated to the error_log.

now what happens is that it merely fails with the croak message, with no
corresponding ERRSV in the logs to help users figure it out.

the only place where logfailure is FALSE is in modperl_handler_resolve,
which is called from modperl_callback.  I can't see the reason for this
being false here, except that maybe the logs haven't been opened yet for
very early callbacks?  but regardless, this needs to be fixed.

--Geoff


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to