httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <>
Subject Re: http_main.c
Date Thu, 20 Nov 1997 20:29:32 GMT
On Thu, 20 Nov 1997, Ben Hyde wrote:

> I'm starting to get my sea legs in this thing and
> I'd like to ask some questions.  If you'd rather I
> just go figure it out my self, that's ok, just ignore
> me.
> I've a rant I like to inflict on people about how clean
> code tends to get abused until it becomes sufficently
> obscure to defend it's self.  http_main.c is a fine
> example of that.
> I'm bemused by HAVE_MMAP being redefined in there for
> WIN32 but in point of fact it never calls MMAP.  Does
> Win32 not define USE_MMAP_FILES because: (a) it would be
> slower, (b) the code is yet to be written, (c)
> none of the above.

Because Dean wrote the code and he hates NT?  <g>  Well, more like doesn't
use NT to test on, but...

A lot of the HAVE_MMAP should be replaced by FOOBAR_SHARED or something
which indicates that we don't care how it is accessed, only that it is
shared somehow between connections.

Does NT have a plain mmap() call?  I thought it only had this ugly thing
that MS touted as a great new feature that only NT has even though it does
the same thing.

> Can somebody enumerate the dimensions of the current
> process models in Apache.  It seems to be something
> like this:
>   Scoreboard
>     - In file
>     - In SharedMemory between processes
>     - In SharedMemory between threads
>   Process and thread
>     - One process
>     - One process as master, N process as Servers
>     - N processes, 1 process as Server (using threads)
>   "Service"
>     - Stand alone run by user.
>     - Managed by inet
>     - Managed by Window's Services

Essentially correct I think, however you have to realize that a lot of the
NT stuff isn't well thought out yet, should be abstracted more to be
usable with Unix threads, and doesn't entirely fit in to the current way
Apache is.

Originally, there was going to be no NT support until 2.0.  Then along
came this nearly-working NT port, so people wanted "a quick 1.3 with basic
NT support".  All the abstraction and making it actually make sense is
supposedly for 2.0.

View raw message