我正在使用strace来研究进程的选择系统调用,并且我试图弄清楚'left'是什么意思。在从strace日志中提取的调试行下面找到。
select(13, [6 7 8 11 12], [], NULL, {0, 10000}) = 1 (in [11], **left** {0, 9994})
到目前为止,我在可用文档中什么都没找到。
我尚未测试,但请注意,select
更新了timeout
参数以指示超时之前剩余的时间。这似乎表明更新的值以通常的struct timeval
格式(秒和微秒)。
因此,在这种情况下,只有6微秒过去,fd 11才可以读取。