perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Issac Goldstand <>
Subject How do interpreters get paired with httpd children?
Date Wed, 29 Nov 2006 08:47:05 GMT
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...


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message