为什么在 select 成功后仍要轮询 STDIN returns 0?
Why poll for STDIN returns 0 even though select succeeded?
我正在尝试 运行 来自 OpenThread GitHub project on WSL and have found that the code 的命令行示例在 STDIN 上调用 poll
似乎不起作用。
代码通过 select
调用等待多个句柄。当按下一个键时 returns 是正确的,但是当它立即调用 poll
时,函数只是 returns 0。如果我注释掉 poll
调用并直接调用read
,这似乎是 return 正确的结果。
这是 WSL 的错误还是代码需要以某种方式调整才能在这种环境中工作?
事实证明,解决方案是不使用 POLLRDNORM
,而是使用 POLLIN
进行 poll
调用。显然,POLLRDNORM
目前不受支持。
我正在尝试 运行 来自 OpenThread GitHub project on WSL and have found that the code 的命令行示例在 STDIN 上调用 poll
似乎不起作用。
代码通过 select
调用等待多个句柄。当按下一个键时 returns 是正确的,但是当它立即调用 poll
时,函数只是 returns 0。如果我注释掉 poll
调用并直接调用read
,这似乎是 return 正确的结果。
这是 WSL 的错误还是代码需要以某种方式调整才能在这种环境中工作?
事实证明,解决方案是不使用 POLLRDNORM
,而是使用 POLLIN
进行 poll
调用。显然,POLLRDNORM
目前不受支持。