如何在Windows上将stdin设置为非阻塞?
在Posix上,我可以这样做:
local ffi, F_SETFL, O_NONBLOCK = require 'ffi', 4, 2048
ffi.cdef 'int fcntl(int fd, int cmd, long arg);'
ffi.C.fcntl(0, F_SETFL, O_NONBLOCK)
此后,对io.read
的调用将立即返回,而不是等待输入。
如何在Windows上执行此操作?我只需要支持Cygwin控制台。上面的代码段运行正确,但是没有任何作用。