首页 > 解决方案 > select():将“nfds”参数增加 1 的原因是什么?

问题描述

select() 的 Linux 手册页说,select() 的第一个参数“nfds”必须是三个集合中任何一个中编号最高的文件描述符,加上 1。 我已经知道的是,这个参数用于缩短更改文件描述符的查找。(因为不需要遍历所有 FD_SETSIZE 元素..)

但我想知道为什么您必须手动将此值增加1。我的意思是,为什么这不是由函数本身完成的?为什么我不能只传递最高文件描述符的值(不增加)?

标签: cselect

解决方案


推荐阅读