a long awaited release candidate for mod_perl 2.0.0 is now available for testing.
please grab the candidate from:
http://www.apache.org/~gozer/mp2/mod_perl-2.0.0/mod_perl-2.0.0-RC1.tar.gz
MD5: d069e5d442ae7d75cd4a366fb65ab125 SHA1: ad4537a9799a5b812136863f9c95d94c13a52d04
and report back successes or failures. when reporting failures, please see the bug reporting guidelines at
http://perl.apache.org/bugs/
so your report can get the best attention possible.
--The mod_perl Development Team
Changes since the previous release:
open_logs and post_config handlers require the Apache::OK return code or the server aborts, so we need to log an error in case the handler didn't fail but returned something different from Apache::OK [Stas]
new function ModPerl::Util::current_perl_id() which returns something like (.e.g 0x92ac760) (aTHX) under threaded mpm and 0 under non-threaded perl (0x0). Useful for debugging modperl under threaded perls. [Stas]
make sure that modperl's internal post_config callback, which amongst other things, cloning perl interpreters is running as modperl_hook_post_config_last APR_HOOK_REALLY_LAST, which ensures that user's post_config callbacks are run before the cloning. now the code from config phase's startup.pl can be safely moved to the post_config phase's equivalent. [Stas]
Further sync with libapr constants changes: [Stas] - the constants
APR::(READ|WRITE|CREATE|APPEND|TRUNCATE|BINARY|EXCL|BUFFERED|DELONCLOSE)
now have a prefix APR::FOPEN_ and moved group s/filemode/fopen/
- constants from the fileprot group moved to the fprot group and the
prefix has changed: from APR::FILEPROT_ to APR::FPROT_
- this also fixes the import of APR_EXCL as an error constant
$r->print() and tied print() now return 0E0 (zero but true) when the call was successful but for zero bytes. [Geoffrey Young]
a new function Apache::ServerUtil::server_shutdown_cleanup_register to register cleanups to be run at server shutdown. [Stas]
$bb->cleanup is no more segfaulting (was segfaulting due to a broken prototype in APR, and consequently invalid XS glue code) [Randy Kobes, Stas]
make sure that ABSPERLRUN and ABSPERLRUN are defined in src/modules/perl/Makefile (needed by win32 build) [Stas]
For static builds, mod_perl header files were being installed into apache's source tree instead of where apache installed it's own headers [Gozer]
modperl_threads_started() wasn't working under static worker build, due to MP_threads_started static variable not being reset on restart. Now resetting it. [Stas]
@INC shrinking efforts: [Stas] 1) when adding $ServerRoot don't add the trailing / (as it ends up twice when added by A-T w/o trailing /) 2) add $ServerRoot/lib/perl only if it actually exists
For static builds, we now run 'make clean' in httpd's source tree before running ./configure if the source tree has been configured before [Gozer]
Apache::SizeLimit ported [Perrin Harkins <perrin elem.com>]
create a new subpool modperl_server_user_pool (from modperl_server_pool), which is used internally by Apache::ServerUtil::server_restart_register. This ensures that user-registered cleanups are run *before* perl's internals cleanups are run. (previously there was a problem with non-threaded perls which were segfaulting on user cleanups, since perl was already gone by that time). [Stas]
Starting from ExtUtils::MakeMaker 6.22 it no longer generates pm_to_blib target, but pm_to_blib.ts, so needed to fix the glue_pod target, so install will work correctly [Stas]
Apache::RequestUtil : $r->child_terminate() implemented for non-threaded MPMs. [Gozer]
new API Apache::ServerUtil::restart_count() which can be used to tell whether the server is starting/restarting/gracefully restarting/etc. Based on this feature implement $Apache::Server::Starting and $Apache::Server::ReStarting in Apache::compat [Stas]
Apache::Resource ported to mp2 [Stas]
If none of MP_APXS, MP_AP_PREFIX and MP_USE_STATIC were specified when configuring Makefile.PL, we now prompt for APXS path first and only if that fails ask for MP_AP_PREFIX. This is a requirement to get 'make test' find httpd. [Stas]
Dynamically prompt and add MP_INST_APACHE2=1 when installing on systems with mod_perl 1 preinstalled. [Stas]
fix the logging call in RegistryCooker [Lars Eggert <lars.eggert netlab.nec.de>]
fix $r->filename in Apache::compat to update the finfo struct (which is how it worked in mp1) [Stas]
enclose all occurences of eval_* with ENTER;SAVETMPS; ... FREETMPS;LEAVE; previously things just happened to work, due to external scopes which was not very reliable and some change could introduce obsure bugs. [Stas]
in case a native apache response filter is configured outside the <Location> block with PerlSet*Filter directive, make sure that mod_perl doesn't try to add it as connection filter (previously was logging an error like: [error] a content filter was added without a request: includes) [Stas]
replace the slow implementation of anon handlers using B::Deparse, with per-interpreter cache of compiled CODE refs (sort of emulating named subroutines for anonymous handlers) [Stas].
avoid segfaults when a bogus $r object is used [Stas]
Remove magicness of PerlLoadModule and implement Apache::Module::add() for modules that implement their own configuration directives [Gozer]
Apache::Connection::remote_ip is now settable (needed to set the remote_ip record based on proxy's X-Forwarded-For header) [Stas]
Fix Modperl::Util::unload_package() [Gozer] - Mistakenly skipping small entries of size 2 and less - Leave entries from other packages alone
$filter->remove now works with native (non-modperl) filters + test [Torsten]
-------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
signature.asc
Description: OpenPGP digital signature