httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ryan Bloom <>
Subject Re: MPM design abuse (was: cvs commit: httpd-2.0/server/mpm/prefork prefork.c)
Date Tue, 13 Nov 2001 22:38:18 GMT
On Tuesday 13 November 2001 02:37 pm, Roy T. Fielding wrote:
> On Tue, Nov 13, 2001 at 09:39:30AM -0800, Ryan Bloom wrote:
> > Don't think of it as removing the socket usage from the MPM. The point of
> > this is to augment what the MPM is doing.  Here's my point, the core
> > already does all of the direct network logic.  The MPM maps the network
> > to a thread, it doesn't do any real network logic, nor should it. 
> > Currently, our MPMs are too close to the network. Also, don't think of
> > MPMs as separate from the core. They are a pluggable part of the core.
> The MPM should be responsible for defining the client interface (conn_rec),
> right?  Wouldn't it make sense, then, for the MPM to be responsible for
> creating the lowest-layer filter?  In other words, maybe we should move
> the code from core to mpm_common, and let some MPMs (like Win's AcceptEx)
> define their own connection management filter.

I'm starting from a different place I guess.  I see the core as defining the client
interface for TCP.  The MPM just maps the client interface to a worker thread.

The way I see it, the core is the beast that is doing all of the actual 
communication to the network, the MPM just tells which thread to handle
each request, regardless of where it comes from.  Based on the comment
above, if you are going to move anything to the MPM, you will also have
to move the core_input and core_output filters to the MPMs, because they
would be actually implementing the network logic.

I would much rather move the network logic back into the core, since it is
common to all MPMs, and allow MPMs and other modules to augment it.

BTW, the next patch is done finally.  It just passed the test suite.  Committing
soon.  People can comment, and we can make changes once it is committed.
This should be the last patch for the prefork MPM, although all of the others
will need to be migrated.

Ryan Bloom
Covalent Technologies

View raw message