michael watson (IAH-C) wrote:
> I'm running Apache/2.2.4 (Unix) mod_perl/2.0.3 Perl/v5.8.0 configured.
> 
> BEGIN in Apache2::SizeLimit has the code:
> 
>     die "Apache2::SizeLimit at the moment works only with non-threaded
> MPMs"
>         if Apache2::MPM->is_threaded();

nothing wrong with that.

> 
> Yet if I run:
> 
> %> perl
> use Apache2::MPM;
> print Apache2::MPM->is_threaded();
> 
> I get:
> 
> Can't locate object method "is_threaded" via package "Apache2::MPM" at -
> line 2.

of course - you can't really do much with Apache2:: modules outside of a
running mod_perl environment.  in this case Apache2::MPM::is_threaded()
is an constant subroutine created at runtime when mod_perl can query the
running Apache server and figure out whether it is using some threaded
mpm or not.

> 
> The site I am trying to install relies on a modperl startup script, and
> it is failing because it cannot find the is_threaded method in
> Apache2:MPM.

hopefully, you're typing Apache2::MPM with two colons ;)

> 
> What am I missing?

if you have the mp2 sources and build available you can see Apache2::MPM
exercised by doing this:

  $ t/TEST t/api/query.t -v

the source for which is here

  t/response/TestAPI/query.pm

short of that, you might want to perldoc the Apache2::MPM manpage and
try calling show() in your startup script (in addition to is_threaded())
and see what happens.

--Geoff

Reply via email to