Bruno Haible wrote:
> Jim Meyering wrote:
>> > +  /* Interix 3.5 has a bug: it does not support nfds == 0.  */
>> > +  if (nfds == 0)
>> > +    {
>> > +      nfds = 1;
>> > +      rfds = NULL;
>> > +      wfds = NULL;
>> > +      xfds = NULL;
>> > +    }
>>
>> Did you consider doing the above only when all three input pointers
>> are NULL?
>
> No, I didn't. According to POSIX
> select (0, rfds, wfds, xfds, timeout)     is supposed to be equivalent to
> select (0, NULL, NULL, NULL, timeout)     and supposed to be equivalent to
> select (n, NULL, NULL, NULL, timeout) for any n > 0. So, on POSIX systems,
> this transformation is correct, and on Interix, Markus Duft said that he
> verified that changing nfds from 0 to 1 made the problem go away.

I agree.
Next time I'll read the spec _first_ ;-)


Reply via email to