int select(int nfds,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
struct timeval *timeout);
select, ,的第一个参数nfds应该是最大文件描述符加1,应该至少是1。
但是我看到有些代码设置nfds为0,这样使用合法吗?
另外,返回值select设置为EINVALwhennfds为负数或timeout包含无效值。同样,它没有指定nfds0 时发生了什么。