Thomas Schindl wrote:
When running with mp2 and worker mpm the case is slightly different: 1. Apache-starts and starts Apache-Child 1 which spawn Thread 1.1 and Thread 1.2 and Apache-Child 2 which spawn Thread 2.1 and Thread 2.2 2. User1 hits Apache-Child 1 Thread 1.1 and sets the global $FOO from 0 to 1 which is shared between the threads 3. User2 3.a. hits Apache-Child 1 Thread 1.2 $FOO is 1 because User1 has set $FOO to 1 3.b. hits Apache-Child 2 Thread 2.1 or Thread 2.2 $FOO is 0 because User1 has set $FOO to 1 in thread 1.1 and 1.2.
That explanations serves as a good answer to the question. But...
That's not what happens behind the scenes.
- Apache threads have nothing to do with perl interpreters.
- There is no 1:1 relationship between apache threads and perl interpreters. Inside one child process you can have 1 Apache thread, and 10 perl interpreters, and vice versa, 10 Apache threads and 1 perl interpreter.
- Moreover, since interpreters live in pools, you can have several pools
comprised of totally different/unrelated interpreters.
- And all these could be used by Thread 1.1 if you are running under threaded apache.
So one needs to talk about perl interpreters and not Apache threads. I hope it is not too confusing :) One day someone will chart the details for a better visual comprehension.
In fact you can have perl interpreter pools with prefork-mpm too (because threads aren't relevant here at all). This feature, for example, allows two different developers use the same server with a totally different @INC. http://perl.apache.org/docs/2.0/user/config/config.html#C_Parent_
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
-- Report problems: http://perl.apache.org/bugs/ Mail list info: http://perl.apache.org/maillist/modperl.html List etiquette: http://perl.apache.org/maillist/email-etiquette.html