At 12:57 PM 3/13/2003, Bill Stoddard wrote: >[EMAIL PROTECTED] wrote: >>ake 2003/03/04 14:15:52 >> Modified: . CHANGES >> server/mpm/winnt child.c mpm_winnt.c mpm_winnt.h >> Log: >> Added the WindowsSocketsWorkaroud directive for Windows NT/2000/XP >> to work around problems with certain VPN and Firewall products that >> have buggy AcceptEx implementations >> >> Revision Changes Path >> 1.1103 +5 -0 httpd-2.0/CHANGES >> ><snip> > >> >> static const command_rec winnt_cmds[] = { >> LISTEN_COMMANDS, >> @@ -224,6 +243,9 @@ >> "Number of threads each child creates" ), >> AP_INIT_TAKE1("ThreadLimit", set_thread_limit, NULL, RSRC_CONF, >> "Maximum worker threads in a server for this run of Apache"), >> +AP_INIT_TAKE1("WindowsSocketsWorkaround", set_sockets_workaround, NULL, RSRC_CONF, >> + "Set \"on\" to work around buggy Winsock provider implementations of certain >> VPN or Firewall software"), >> + >> { NULL } >> }; > >Rather than WindowsSocketsWorkaround, why not WinUseWinsock1 or ??. It would be >better I think if the directive somehow indicated exactly what it was doing (causing >the winnt mpm to use the select/accept winsock1 calls rather than AcceptEx, a >winsock2 call).
That would be a misnomer - since our handle inheritance requires winsock2. What about WindowsUseAcceptEx on|off? That's really descriptive of what the workaround does. Or, we could call it WindowsFastSockets on|off, which is the effect of the workaround. I was also looking at this entire patch - it seems silly to retest for both the version of windows and this flag throughout the code. Why not simply initialize it in the register_hooks() call based on the OS version? Then let the directive override its default value. We should prevent Win9x users from enabling the flag, however :-) Bill