我正在 Linux 上调试一个应用程序。它有几个线程定期调用select
系统调用:
strace
shows:
select(0, NULL, NULL, NULL, {1, 342414})
So nfds=0
。我认为 nfds 是任何集合中出现的最高文件描述符编号readfds
, writefds
and exceptfds
加一。它不能是标准输入(fd=0
),因为这将有nfds=1
.
那么什么意思nfds=0
在这种情况下?
Thanks!
Usually select
休眠直到超时到期或文件描述符之一发生事件。如果有are没有文件描述符,超时是唯一剩下的行为。
我的本地联机帮助页select(2)
甚至包括文字
一些代码在所有三个集合为空、nfds 为零和非 NULL 超时的情况下调用 select(),作为一种相当可移植的以亚秒精度睡眠的方式。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)