strace select 的 'left' 字段是什么意思?

What does 'left' field of strace select mean?

我正在使用 strace 来调查进程的 select 系统调用,我试图弄清楚 left 是什么意思。在下面找到从 strace 日志中提取的调试行。

select(13, [6 7 8 11 12], [], NULL, {0, 10000}) = 1 (in [11], **left** {0, 9994})

到目前为止,我没有在可用文档中找到任何内容。

请注意,select 更新了 timeout 参数以指示超时前剩余的时间量。这表示更新后的值,采用通常的 struct timeval 格式(秒和微秒)。 See the strace source code to confirm this.

所以在这种情况下,fd 11 在仅经过 6 微秒时就可以读取了。