Hi,


>> modules, that are loaded 4 times in all.

> You might we watching each Interpreter thread start, IIRC they start in
> sequence and not simultaneously. At any rate, thats a feature of the
> winnt mpm.

Unless I'm missing a point, I'm not convinced by that.
Indeed, I made further tests, and no matter how many Perl Interpreters I'm
setting at start time, preloaded modules are loaded 4 times.

To make that stand out, I created a very simple module:

####################
package MyLoadingModule;

use Apache2::ServerUtil();
use ModPerl::Util();

open FILE, ">>", "MyModule.txt";
print FILE "Module Loaded: restart_count: ",
Apache2::ServerUtil::restart_count(), " # Perl Interpreter:",
ModPerl::Util::current_perl_id(), "\n";
close FILE;

1;

####################

which sole purpose is to show that it's being loaded, and to show the
restart_count value.

I'm preloading this module, using "PerlModule MyLoadingModule" in
httpd.conf.

And when starting the server, this shows in "MyModule.txt":
Module Loaded: restart_count: 1 # Perl Interpreter:0x26ebbc
Module Loaded: restart_count: 2 # Perl Interpreter:0x8901dc
Module Loaded: restart_count: 1 # Perl Interpreter:0x26ec54
Module Loaded: restart_count: 2 # Perl Interpreter:0xe6e29c

This clearly shows that the server is started 4 times. I suppose that the
main parent process is start then restarted. And then, the child process is
started and restarted? I'm not sure about the details, but this is what I'm
guessing. One could notice that the Perl Interpreter aaddress is changing
everytime.

I really would like to understand how the WinNT MPM is working, how memory
is shared, in order to make our coding more efficient.
The problem is that most docs about memory management under MP is abou LAMP,
and I'm not sure the same rules apply...


>
>> Moreover, I'm not sure how efficient is the Winnt MPM, related to Perl.
>> As you know, under Windows, the server is working in a threaded
>> environment

> Perl + Threads ... hmmm I choose to run away in most cases
>
>
>> "PerlInterpInitHandler" to be able to initialize Perl Interpreter
>> specific
>> stuff)

> You might actually be able to add something to the registry depending on
> how complex you want to get... But like I said before, 6 years ago now
>
>
> ------------------------------------------------------------------------
> Philip M. Gollucci (pgollucci@p6m7g8.com) 323.219.4708
> Consultant / http://p6m7g8.net/Resume/resume.shtml
> Senior Software Engineer - TicketMaster - http://ticketmaster.com
> 1024D/A79997FA F357 0FDD 2301 6296 690F 6A47 D55A 7172 A799 97F
>
> "It takes a minute to have a crush on someone, an hour to like someone,
> and a day to love someone, but it takes a lifetime to forget someone..."
>