"#if !defined(NETWARE)" should be added along side WIN32 in this patch since we are also using Winsock in the same way as Win32. In fact the NetWare MPM is the super-threaded httpd MPM without poll() that you asked about. Since NetWare doesn't have a concept of processes, everything is a thread and therefore threading is extremely efficient. The NetWare MPM will continue to spin up threads as long as the hard limit is not hit and the CPU can handle it.
Brad Brad Nicholes Senior Software Engineer Novell, Inc., the leading provider of Net business solutions http://www.novell.com >>> Jeff Trawick <[EMAIL PROTECTED]> Monday, January 26, 2004 4:23:15 PM >>> FD_SET is rather unfriendly if you give it a file descriptor that is >= FD_SETSIZE. It will overlay storage. Exception: Windows uses an array[FD_SETSIZE] of handles, so the value of individual handles is irrelevant. I don't know what other exceptions there might be. Any comments? Yeah, the error code sucks. APR_ENOPOLL? APR_ENOSOCKET? Anybody running a super-threaded httpd MPM on a box without poll()? Apache httpd's MPMs for Unix will stop bailing out for client connections using a socket fd >= FD_SETSIZE. They do it now just in case the platform has no poll(), but it is doubtful that more than a handful of people really need that check, and hopefully an apr patch like this one will be sufficient to convince such people that they should lower the threads or otherwise reduce the fds open in the process. (They had to do that anyway when httpd performed the check.)