On Tuesday, 21 February 2012 13:49:41 Brian Millett wrote:
> I guess I'm asking is anyone has made any progress with mod_perl with the
> new httpd 2.4 ??

There is quite a lot that has changed in httpd from 2.2 to 2.4. Last summer I 
have worked on porting modperl a bit. The result is available at

  http://svn.apache.org/repos/asf/perl/modperl/branches/httpd24/

for everyone who wants to take it further.

The current state is as follows (at least with the httpd 2.3.14 or 2.3.15 of 
last summer):

- it compiles
- the test suite failures you'll see are expected. They are caused by API
  changes on the httpd side. It should not segfault (tested only with
  prefork).
- things that have to be ported are mainly
  * the AAA-related parts of request_rec are gone.
  * the AAA hooks are replaced by a provider oriented interface
  * the new logging architecture

As for AAA we have to decide if we want to implement a compatibility layer (if 
possible) or if we want to support only the new way.

Support of the new, per-module way of logging is more optional. It would be 
nice to be able to have per-module loglevels also for httpd modules written in 
Perl. Although the AAA stuff is far more important the loglevel stuff seems to 
be easier and a low hanging fruit even for a someone less experienced in 
modperl coding (with some guidance).

So, that's more or less the current state. You are encouraged to participate 
and submit patches.

Unfortunately, last year generated quite a lot of work. There was perl 5.14 
with a few incompatible changes and the upcoming httpd 2.4. Not to forget the 
transition from LWP 5.x to LWP 6.x which our test-suite is based upon. And 
developer time is a scarce resource since none of us is paid for it (at least 
I am not). If someone wants to invest money please do. I'd rather work to 
improve modperl for say 75-80% of my normal rate.

As for my personal topic ranking after 2.0.6 release, first thing is the merge 
of the threading branch into trunk. In combination with that I'd like to make 
sure the current perl context is set to NULL when modperl is not working at 
something perl-specific if MP_DEBUG is set. The runtime part of this is done, 
I think. Then I'd like to launch a raid on pieces of code like

  if(...) {
    /* should not happen */
    return NULL;
  }

and replace them with MP_ASSERT. Then perhaps comes the PerlInterpInitHandler, 
PerlInterpExitHandler stuff or the httpd 2.4 port. I also like the 
"PerlDeclareInterp fritz ... <perl interp="fritz">...</perl> ... PerlUseInterp 
fritz" idea. If anybody wants to participate don't hesitate.

Torsten Förtsch

-- 
Need professional modperl support? Hire me! (http://foertsch.name)

Like fantasy? http://kabatinte.net

Reply via email to