Kurt George Gjerde wrote:
Hi,

This is some things I've come across.

Lineup:
  Apache/2.0.43 (Win32) mod_perl/1.99_09-dev Perl/v5.8.0 DAV/2

1. When adding 'PerlOptions +Parent' to httpd.conf (in <VirtualHost>),
apache starts ok, then exits without an error message after approx 1
second.

Doesn't happen on linux with worker mpm. Perhaps someone who runs win32 can test that. You can try to strace, to see where it exits. Do you get this problem with some specific setup or an empty vhost with that option causes the failure?


2. In docs config.html PerlOptions +Parent, PerlInterpMaxRequests,
PerlInterpStart, PerlInterpMax is shown inside a <Location>. Apache
returns 'not allowed here' for all of these.

Indeed. Need to check that.


3. PerlInterpMaxRequests doesn't seem to be working. Entering the
following directives inside a <VirtualHost>:

    PerlOptions +Clone
    PerlInterpMaxSpare 1
    PerlInterpMinSpare 1
    PerlInterpStart 1
    PerlInterpMax 1
    PerlInterpMaxRequests 10

(I'm overdoing it just to make sure) ...does not retire interpreter after
10 requests.

There are two ways to debug this if you want to help.


The easy way is to set in httpd.conf
PerlTrace i
as explained here:
http://perl.apache.org/docs/2.0/user/config/config.html#C_PerlTrace_

If that doesn't help, setting a breakpoint in modperl_tipool_putback_base is the place where the decision to retire the interpreter is made.

If you don't figure out where the problem is I'll look at it somewhere next week.

Tested this with the following module:

package MyApache::Test::Rox;

  use strict;
  use warnings FATAL=>'all', NONFATAL=>'redefine';

  use Apache::RequestRec ();
  use Apache::RequestIO ();
  use Apache::Const -compile => qw(OK);
  use APR::OS;

  my $cnt=0;
  my $tid = APR::OS::thread_current();

  sub handler {
      my $r = shift;

you probably want to move my $tid = APR::OS::thread_current(); into the handler, otherwise you reprint the old value ;)

though your $cnt does the right job to reproduce the problem.

Also you probably want:
my $tid = ${ APR::OS::thread_current() };

;)

__________________________________________________________________
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


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to