Wednesday, 2 July 2014

Re: Object fetchers moved to scheduled operation

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.

No comments:

Post a Comment