perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Philippe M. Chiasson" <>
Subject [RELEASE CANDIDATE] mod_perl-2.0.0 RC1
Date Sat, 11 Dec 2004 20:29:06 GMT
a long awaited release candidate for mod_perl 2.0.0 is now available for

please grab the candidate from:

 MD5:  d069e5d442ae7d75cd4a366fb65ab125
 SHA1: ad4537a9799a5b812136863f9c95d94c13a52d04

and report back successes or failures. when reporting failures, please see
the bug reporting guidelines at

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 can be safely moved to the post_config
phase's equivalent. [Stas]

Further sync with libapr constants changes: [Stas] 
- the constants
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,

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>]

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>]

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

Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5     F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5

View raw message