On 02/07/2014 11:07, Vincent Sanders wrote: >> >> Seems to work on Haiku. > > good to hear > >> >> Btw, straight from select(2) manpage: >> "nfds is the highest-numbered file descriptor in any of the three sets, >> plus 1." >> So the @todo is solved :D >> > > I fear one of us is misunderstanding. > > The fetcher_fdset() api will return an fd set and the number of the > highest used fd in that set for example if the returned set has > 4,5,7,8,9 in it the max_fd variable will be 9.
Hmm indeed, I always had the impression curl_multi_fdset() was already adding one, but it seems not: http://curl.haxx.se/libcurl/c/curl_multi_fdset.html In any case, select() needs the +1. > Surely that means the todo was asking if the max_fd needed 1 adding to > it inside the MAX statement? a sit stands in my example nfds will be > passed to select as 9 not 10? and actually it would better read as: > > max_fd = MAX(max_fd, sEventPipe[0]) + 1; Indeed this looks more correct. François.