[krbdev.mit.edu #5925] Windows socket(...) returns SOCKET, not file handle

Jeffrey Altman via RT rt-comment at krbdev.mit.edu
Fri Mar 21 19:21:59 EDT 2008


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





More information about the krb5-bugs mailing list