httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject Re: cvs commit: apache-2.0/src/modules/mpm/winnt winnt.c
Date Mon, 15 May 2000 19:07:15 GMT

> Here is my take on this.  Windows NT and Windows 9X are very different
> platforms.  create two different MPMs.  They should be very similar to
> each other, and should most likely contain some of the same code, so a new
> directory structure may be required.  However, NT/2000 will always have
> features that 95/98 don't have, and we want to take advantage of those
> features.  Trying to squeeze them all into one MPM becomes ugly
> quickly.  I suggest a layout similar to:
> src/modules/mpm/windows/
>                         win32
>                         win9x
>                         common
> All of the common code goes into a dll in the common directory so that we
> aren't duplicating too much code.  This doesn't even need to be a dll, it
> could just be a set of C files that get compiled in with the stuff in the
> other directories.
> In th win32 directory is a Win32 MPM that does everything the current MPM
> does (AcceptEx, CompletionPorts, etc.)
> The win9x MPM is a very lightweight version of the Win32 MPM, that does
> just what 9x can do.
> I may be completely out of line, but this is my opinion.  This also keeps
> us from opening up the ap_get_oslevel stuff.  Of course, if a Windows
> person wants to explain why these should be in the same file, then we need
> to re-evaluate opening up the ap_get_oslevel API's.

-1. It requires we begin building Win9* binary distributions in addition to Win NT
distributions. Maintaining support for 95/98 in the same executable is not that difficult
really. winnt.c file needs to be broken up into multiple parts (perhaps an NT part, a
95/98 part and a common part). The os_level checks will be minimal (there are just a few
of them now anyway). The difficult part, as Bill has pointed out, is late loading the
functions that do not exist in 95/98.  And even this is not too difficult once the APR
APIs are in place. In the meantime, we can just replicate the APR function in the common


View raw message