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