You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Issac Goldstand <ma...@beamartyr.net> on 2006/11/29 09:47:05 UTC

How do interpreters get paired with httpd children?

Hi list,
  I'm trying to write a Apache 2 module which embeds the SpiderMonkey
JavaScript interpreter in Apache.  I know that mod_perl2 uses nice pools
of interpreters to ensure maximum availability of interpreters to
workers (threads/processes/whatever the MPM uses to handle requests),
and wanted to try to model based on that.

JavaScript has a global runtime, in which several execution contexts can
live.  My thought was to, for starters, create one global runtime during
post_config and one context per child process during child_init (I don't
want to start dealing with threads until I have a better feel for what
I'm doing).  I store the runtime in my module_config, but am unsure
where to stash the contexts.

I tried looking at the mod_perl code, but I think I took a wrong turn
and got lost at modperl_perl_init_ids_server

Can someone try to give an explanation of how mod_perl gets from startup
to children with tipools (and how it cleans them up, if it's any harder
than hooking the pconfig and pchild pools' cleanups)?  My hope is that
if I understand the process of what's happening inside, it will help me
better understand the code...

Thanks,
  Issac

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org