[Libevent-users] How does libevent deal with more events than a
particular syscall can handle?
Nick Mathewson
nickm at freehaven.net
Sat Nov 18 20:12:07 EST 2006
On Sat, Nov 18, 2006 at 05:53:24PM -0500, Roger Clark wrote:
> For instance, the maximum number of fds usable by select() on Win32
> (or other platforms) is low compared to the number of potential
> connections needed by a high-throughput HTTP server.
Check out the C code; it's all there. :)
On most platforms, the number of FDs passed to select() is not
actually limited by the kernel; the only limitation is on the size of
the fd_set structure. But libevent doesn't use fd_set. On unixlike
systems, when select() is used, it builds its own bitfields; on
Windows, it builds a counted array of fds.
Of course, as noted, select() is very inefficient, and isn't used when
libevent can avoid it.
Check the list archives for some IOCP discussion. (Generally, it's a
good idea to check the archives before posting about anything.)
yrs,
--
Nick Mathewson
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 652 bytes
Desc: not available
Url : http://monkeymail.org/archives/libevent-users/attachments/20061118/c0634f79/attachment.bin
More information about the Libevent-users
mailing list