From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Larmour To: "Trenton D. Adams" Cc: 'eCos Discussion' Subject: Re: [ECOS] select () confusion Date: Thu, 02 Aug 2001 14:49:00 -0000 Message-id: <3B69CAC8.BD0CEA9C@redhat.com> References: <000501c11b9a$14df3310$090110ac@TRENT> X-SW-Source: 2001-08/msg00083.html "Trenton D. Adams" wrote: > > What does the following statement in the select () function > documentation mean? > > n is the highest-numbered descriptor in any of the three sets, plus 1. > > Does that mean I have to figure out what the highest numbered socket *you are selecting on* > is > before calling select? Yes. Normally you track the largest fd you've ever had, or keep a list of fds. Or just use FD_SETSIZE if you're lazy IIRC. > Anyhow, I thought that the first parameter was the number of file > descriptors in the fd_set. It makes no sense to have to calculate what > the highest numbered socket descriptor is before calling select (). It's standard BSD select() use. > On > top of that, the example at the bottom of the documentation for select > () is not very good. It passes a 1 in as the first parameter which is > exactly why I thought it was the number of file descriptors and not the > highest numbered one. Ah, that's because it happens to choose stdin, which is always fd 0. Jifl -- Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062 Maybe this world is another planet's Hell -Aldous Huxley || Opinions==mine