I would even say PER THREAD or PER PERL INTERPRETER.
Indeed, I'm running Per/mod perl under Windows, and there's one unique
Apache process (except the parent one) hosting all perl interpreters.
Something to ask about modperl and memory in Windows. I know modperl uses
threads in Windows. But does modperl respond to the MaxRequestsPerChild
setting?
In other words, if I specify that the 'child' should serve only 100
requests before respawning, does Perl free up all memory allocated by the
thread before respawning the thread?
Actually, under Windows, all Apache Threads and Perl Interpreters are living
under the same child process. (which is spawned from the Apache parent
process at server startup)
The MaxRequestsPerChild directives is working under windows, and it
specifies the total number of requests all your threads can process. After
this number of threads is processed by all the threads, the child process is
killed (and all its threads altogether), and spawned again from the parent
process.
So, for example, if you specify
MaxRequestsPerChild 100
And then, if
thread 1 processes 40 requests
thread 2 processes 35 requests
thread 3 processes 25 requests
The whole process is started again.
Of course, I'm talking here about independant requests being processed (i.e.
requests under the same "Keep Alive timeout" count for one)
Lionel.