3

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

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

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

4

1 回答 1

7

请注意,select更新timeout参数以指示在超时之前剩余的时间量。这表示更新的值,采用通常的struct timeval格式(秒和微秒)。 请参阅 strace 源代码以确认这一点。

因此,在这种情况下,fd 11 仅在 6 微秒后即可读取。

于 2020-05-13T20:03:54.803 回答