Graham Dumpleton
grahamd at dscpl.com.au
Sat Aug 20 06:19:46 EDT 2005
Sebastjan Trepca wrote .. > Ah, sorry about that question. As I understand it means that you > basicaly can set the intepreter that gets copied to all processes that > are spawned, else blank interpreter is used. If your globals doesn't > change this would be quite useful then, da? But not quite for caching. Sorry, still not quite right. Interpreters are not copied from anywhere. Each interpreter is always effectively blank when first created. They are created fresh direct within the child subprocess, they aren't copied from the main Apache process. Upon being created an interpreter is loaded with any builtin Python modules and then the mod_python "_apache" and "apache" modules, but that is it. Only other modules which might be loaded at startup are those specified using the PythonImport directive. Subsequently for the specific request, the module for a handler might then also be loaded etc. There is nothing magic about differently named interpreters, whether they be explicitly named or the default ones based on virtual host name, they are just a way of maintaining some seperation between web applications so they don't interfere with each other by clobbering each others data and/or modules. Graham
|