Received: from hrndva-omtalb.mail.rr.com ([71.74.56.123]) by krbdev.mit.edu (8.12.9) with ESMTP id m2LNLsHW025437; Fri, 21 Mar 2008 19:21:54 -0400 (EDT) Received: from www.secure-endpoints.com ([24.193.47.99]) by hrndva-omta01.mail.rr.com with ESMTP id <20080321232108.IBDK6098.hrndva-omta01.mail.rr.com@www.secure-endpoints.com> for ; Fri, 21 Mar 2008 23:21:08 +0000 Received: from [192.168.1.34] by secure-endpoints.com (Cipher TLSv1:RC4-MD5:128) (MDaemon PRO v9.6.5) with ESMTP id md50000083143.msg for ; Fri, 21 Mar 2008 19:23:53 -0400 X-Spam-Processed: www.secure-endpoints.com, Fri, 21 Mar 2008 19:23:53 -0400 (not processed: message from trusted or authenticated source) X-Mdptrlookup-Result: pass dns.ptr=cpe-24-193-47-99.nyc.res.rr.com (ip=24.193.47.99) (www.secure-endpoints.com) X-Mdhelolookup-Result: hardfail smtp.helo=[192.168.1.34] (does not match 24.193.47.99) (www.secure-endpoints.com) X-Authenticated-Sender: jaltman@secure-endpoints.com X-Return-Path: jaltman@mit.edu X-Envelope-From: jaltman@mit.edu X-Mdaemon-Deliver-To: rt@krbdev.mit.edu Message-ID: <47E44385.8070201@mit.edu> Date: Fri, 21 Mar 2008 17:23:49 -0600 From: Jeffrey Altman User-Agent: Thunderbird 2.0.0.12 (Windows/20080213) MIME-Version: 1.0 To: rt@krbdev.mit.edu Subject: Re: [krbdev.mit.edu #5925] Windows socket(...) returns SOCKET, not file handle References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: jaltman@mit.edu RT-Send-Cc: X-RT-Original-Encoding: iso-8859-1 Content-Length: 1189 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