Stas Bekman wrote:
Any comments?This patch replaces the B::Deparse logic for anonsubs with a different approach.
Sorry, I thought I had replied to that one.
Stas Bekman wrote:
- i'm not sure if I can use a static global variable as a mutex (see XXX in the patch)
I don't think there is a problem with that. But couldn't the modperl_global.* stuff be used for this instead ?
- should we do mutex locking only for threaded mpm? (see XXX in the patch) in which case, it's probably going to be too expensive to test modperl_threaded_mpm or not?).
Well, first, you modperl_threaded_mpm isn't expensive anymore:
static int MP_threaded_mpm = 0;
int modperl_threaded_mpm(void)
{
return MP_threaded_mpm;
}But, really, we should be able to reuse either some of the modperl_global.* stuff for this or the APR_ANYLOCK stuff so that we can get mutex locking for threaded mpms and near 0-overhead for prefork.
if all anonsub handlers are compiled at run-time, there will be no overhead what so over at run-time. so probably this can be just documented. - when PerlScope is utilized we need to croak if the handler wasn't compiled+registered before perl_clone, since if this happens we may have one interpreter that compiles and registers the anon-sub handler but another one is run - we need more tests
-- -------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
signature.asc
Description: OpenPGP digital signature
