As of about a week ago, PMROOT was removed from the HV struct and 
moved off to magic.  Unfortunately, mod_perl seems to be using
the HvPMROOT() macro to store away the modperl_interp_t 
pointer in modperl_interp.h.  The comments seem to indicate that
mod_perl isn't using PMROOT for its intended purpose, but instead
as a quick place to store the interp pointer.

So, mod_perl is going to need a new place to put the interp
pointer.  I'm guessing that it could use PMROOT's new place in
magic.  Code like the following would probably work get the
magic.  I haven't tested it, but the code for MP_THX_INTERP_SET
would look like...

#define MP_THX_INTERP_SET(thx, interp) \
# ifndef(HvPMROOT)
    MAGIC *mg = mg_find((SV*)thx, PERL_MAGIC_symtab); \ 
    mg->mg_obj = (SV*)interp    
# else
 <current code>

Of course, there may be a much better place or way of doing it
which I don't know about.  I'm just hoping to start some discussion
instead of it being a surprise when 5.9.3 is released.

Steve Peters
[EMAIL PROTECTED]

Reply via email to