Nick Mathewson wrote: > On Tue, Nov 06, 2007 at 05:09:07PM +0100, Marc Lehmann wrote:
> There are two factors that keep the select() implementation on win32 > from using the same strategy/code as the one : > > 1) win32's select() doesn't use bitfields; it uses an array of > sockets. This is because... > > 2) win32 sockets, unlike unix fds, are not consecutively numbered > integers starting at 0. Thus, it is _NOT_ a good idea to use an > array to map fds to events like select.c does; your array would > be enormous and sparse. > > A balanced tree implementation might an improvement here. It would be > nice if somebody would step up and write one. select() under win32 only works on sockets, so it's only purpose is socket selection. Given that, select() is a poor choice - I/O completion ports are much better; for one thing, they scale. libiocp exists, although I don't know at all what would be involved in the integration with libevent. >> Looking around with google it seems that indeed, evdns et. al does not >> build on windows (except when using e.g. cygwin, but thats trivial). >> >> So I wonder if libevent as a whole is supported under windows at all in >> current versions? > > I'd like to have everything work on win32. Trunk compiles on mingw > fine. I would like it also to compile under MSVC, but I don't have a > copy of MSVC. That's why diffs would be nice. :) MS offer a free command line compiler and SDK. Given they're free and compatable with the commercial build environments, would they be a viable choice of Win32 build environment? _______________________________________________ Libevent-users mailing list Libevent-users@monkey.org http://monkeymail.org/mailman/listinfo/libevent-users