Stas Bekman <[EMAIL PROTECTED]> writes: > Joe Schaefer wrote:
[...] > > I'm still of the opinion that the best way to resolve this problem is to > > ensure the same interpreter always runs whatever extra hooks it creates (eg > > pool cleanups, filters/handlers added, etc.). > > That will be only possible if you drop the pools functionality, the > interpreter scopes, etc. Obviously I don't see why that is so. In fact, I see that it is already implemented in parts of mod_perl, for instance when registering a pool-cleanup callback: $sp->cleanup_register(sub { print @{ $_[0] || [] } }, [1..3]); Here the currently active interpreter has its refcount incremented by mpxs_apr_pool_cleanup_register(). AFAICT the interpreter is not allowed to reenter the thread pool until this cleanup has run. I don't see how PerlInterpScope influences this behavior at all. I still believe that this is the right approach, and again I wonder why this cannot also be used in the situations you cited earlier in this thread. [...] > > Is it really ok for interpreter B to deparse A's sub here? > > It doesn't do that. A deparses the function and stores its source in > the mod_perl struct. Then B compiles it before running it. Thanks for clearing that up for me! -- Joe Schaefer --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]