On Fri, Oct 26, 2007 at 02:57:01PM +0200, Dintelmann, Peter wrote:
> mod_perl.c: In function `modperl_sys_term':
> mod_perl.c:599: error: `my_perl' undeclared (first use in this function)
...
> The referenced line 599 in mod_perl.c reads
> 
> $ perl -nle 'print if $.==599' src/modules/perl/mod_perl.c
>     PERL_SYS_TERM();

That's odd.

I very recent change I made to bleed was that before you had:

    #define PERL_SYS_TERM() \
        HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;

and now you have:

    #define PERL_SYS_TERM() Perl_sys_term(aTHX)

    Perl_sys_term(pTHX)
    {
        ...
        PERL_SYS_TERM_BODY();
    }


    #define PERL_SYS_TERM_BODY() \
        HINTS_REFCNT_TERM; OP_REFCNT_TERM; PERLIO_TERM; MALLOC_TERM;


So, now the call to Perl_sys_term (via the PERL_SYS_TERM macro) requires,
in threaded/multiplicity builds, for the caller to have the my_perl
variable available. However, I didn't see that as a problem, as before,
the PERL_SYS_TERM marco invoked PERLIO_TERM, which is defined (more or
less) as:

    PerlIO_teardown(aTHX)

so even before my change, the caller should have been required to provide
a my_perl var, either via a pTHX, or explicitly via dTHX.



-- 
"You may not work around any technical limitations in the software"
    -- Windows Vista license

Reply via email to