httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <stodd...@raleigh.ibm.com>
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
file.

Bill


Mime
View raw message