Nicolas Williams via RT wrote: > You might want to consider using libevent, which has support for "Linux, > *BSD, Mac OS X, Solaris and Windows" and which is distributed with a > 3-clause BSD license (but without the advertising clause). It has a documentation requirement for the party that distributes the libevent library or binaries that include the library. For KFW, I believe the copyright and inclusion of libevent will have to be documented. The license can be found at: http://www.monkey.org/~provos/libevent/LICENSE > This should result in more portable code and should allow you to let > someone else worry about the low-level details of I/O polling and async > I/O on each OS. With any luck you might even be able to reduce the > amount of source code related to I/O polling and async I/O in MIT krb5 > significantly. Looking over the examples this looks like a very easy fix to the I/O issues related to the use of UNIX fds larger than FD_SETSIZE. Using libevent would be a definite win. However, in locations where the socket fd is being used as an index into an array of objects switching from select() to libevent will not be the solution. Jeffrey Altman