【发布时间】:2012-04-09 12:42:42
【问题描述】:
在
int select(
int nfds,
fd_set *readfds,
fd_set *writefds,
fd_set *exceptfds,
struct timeval *timeout);
syscall,nfds 是位图中设置的所有文件描述符中我们感兴趣的最大文件描述符。我认为这是为了提高效率,这样实现就不必扫描系统中的所有文件描述符。如果是这样的话,那么为什么这个系统调用不允许我们传递一个参数来指定感兴趣的最小文件描述符呢?
【问题讨论】:
-
我不确定,但文件描述符往往是小数字,所以也许只是指定下限通常没有多大帮助。
-
这似乎是最简单的解释。但可能还有更多技术原因。
标签: operating-system system-calls multiplexing