Stas Bekman wrote:
Stas Bekman wrote:

This patch replaces the B::Deparse logic for anonsubs with a different
approach.
Any comments?

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

Attachment: signature.asc
Description: OpenPGP digital signature



Reply via email to