Subject: Re: select() question
To: Nathan J. Williams <nathanw@MIT.EDU>
From: Erik Huizing <firstname.lastname@example.org>
Date: 08/14/2001 14:02:59
I've already dealt with the 256 limit. Its just a matter of redefining
FD_SETSIZE before including any files.
* Select uses bit masks of file descriptors in longs. These macros
* manipulate such bit fields (the filesystem macros use chars).
* FD_SETSIZE may be defined by the user, but the default here should
* be enough for most uses.
#define FD_SETSIZE 256
That aside, are there any limitations on poll I should be aware of?
There's no mention of any in the man page or include header.
The first rule of Fight Club is: You Do Not Talk About Fight Club.
// Erik Huizing email@example.com
On 14 Aug 2001, Nathan J. Williams wrote:
> Erik Huizing <firstname.lastname@example.org> writes:
> > Quick question about select:
> > is it better to use select on a large (possibly >5,000) number of
> > sockets,
> ... you can't do that. The select() interface only allows you to deal
> with the first FD_SETSIZE (256) descriptors. You could do it with
> poll(), though.
> > or to split the job up amount, say, 10 or 20 threads, where each
> > thread has a more manageable list.
> This might be better (less copyin overhead), if you can find a thread
> package that works well with select [working on it, I promise!].
> The kqueue interface would be better than any of those options, but
> it's not quite integrated yet.
> - Nathan