Stas Bekman <[EMAIL PROTECTED]> writes:
> Joe Schaefer wrote:
> > Stas Bekman <[EMAIL PROTECTED]> writes:
> > [...]
> >
> >>As Joe suggested my idea won't work, since by including all other
> >>object files we will introduce new dependencies on ap_, so we need to
> >>figure out how to handle the Pool.so to get rid of the dependency on
> >> request_rec.
> > Right- it looks pretty tricky to me because of how mp2's ithread pools
> > interacts with the APR::Pool's cleanup callbacks. Because of this, I'm
> > tempted to suggest that the current APR::Pool implementation should be
> > renamed Apache::Pool, and a new (simpler) base class APR::Pool should be
> > constructed that doesn't rely on ap_*.
>
> Yes, that's quite possible. I didn't have a chance to look at it though.
I think it just boils down to removing this portion of mpxs_cleanup_run()
from APR__Pool.h:
#ifdef USE_ITHREADS
if (cdata->interp) {
/* this will decrement the interp refcnt until
* there are no more references, in which case
* the interpreter will be putback into the mip
*/
(void)modperl_interp_unselect(cdata->interp);
}
#endif
and making a new class, Apache::Pool, that is derived from APR::Pool.
You then need to install a few XSUBs for Apache::Pool that will run this
section as necessary.
Just a quick guess, but I don't believe it's too far off.
--
Joe Schaefer
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]