Author: torsten Date: Thu Jul 28 12:41:26 2011 New Revision: 1151822 URL: http://svn.apache.org/viewvc?rev=1151822&view=rev Log: As of httpd 2.4 the MPM becomes a loadable module. Thus, modperl should in principle require a threaded perl always. But if the admin knows that only prefork will be used he can call "perl Makefile.PL NONTHREADED_OK=1" to have the build process accept a non-threaded perl.
Modified: perl/modperl/branches/httpd24/lib/Apache2/Build.pm perl/modperl/branches/httpd24/lib/ModPerl/BuildOptions.pm Modified: perl/modperl/branches/httpd24/lib/Apache2/Build.pm URL: http://svn.apache.org/viewvc/perl/modperl/branches/httpd24/lib/Apache2/Build.pm?rev=1151822&r1=1151821&r2=1151822&view=diff ============================================================================== --- perl/modperl/branches/httpd24/lib/Apache2/Build.pm (original) +++ perl/modperl/branches/httpd24/lib/Apache2/Build.pm Thu Jul 28 12:41:26 2011 @@ -275,12 +275,13 @@ sub caller_package { return ($arg and ref($arg) eq __PACKAGE__) ? $arg : __PACKAGE__; } -my %threaded_mpms = map { $_ => 1 } - qw(worker winnt beos mpmt_os2 netware leader perchild threadpool); +my %threaded_mpms; +undef @threaded_mpms{qw(worker winnt beos mpmt_os2 netware leader perchild + threadpool dynamic)}; sub mpm_is_threaded { my $self = shift; my $mpm_name = $self->mpm_name(); - return $threaded_mpms{$mpm_name} || 0; + return exists $threaded_mpms{$mpm_name} ? 1 : 0; } sub mpm_name { @@ -288,6 +289,11 @@ sub mpm_name { return $self->{mpm_name} if $self->{mpm_name}; + if ($self->httpd_version =~ /^(\d+)\.(\d+)\.(\d+)/) { + delete $threaded_mpms{dynamic} if $self->mp_nonthreaded_ok; + return $self->{mpm_name} = 'dynamic' if ($1*1000+$2)*1000+$3>=2003000; + } + # XXX: hopefully apxs will work on win32 one day return $self->{mpm_name} = 'winnt' if WIN32; Modified: perl/modperl/branches/httpd24/lib/ModPerl/BuildOptions.pm URL: http://svn.apache.org/viewvc/perl/modperl/branches/httpd24/lib/ModPerl/BuildOptions.pm?rev=1151822&r1=1151821&r2=1151822&view=diff ============================================================================== --- perl/modperl/branches/httpd24/lib/ModPerl/BuildOptions.pm (original) +++ perl/modperl/branches/httpd24/lib/ModPerl/BuildOptions.pm Thu Jul 28 12:41:26 2011 @@ -264,4 +264,4 @@ GENERATE_XS 0 Generate XS code bas LIBNAME 0 Name of the modperl dso library (default is mod_perl) COMPAT_1X 0 Compile-time mod_perl 1.0 backcompat (default is on) APR_LIB 0 Lib used to build APR::* on Win32 (default is aprext) - +NONTHREADED_OK 0 Using a non-threaded perl is okay with httpd >=2.3