首页 > 解决方案 > 将标准输入设置为非阻塞

问题描述

如何在 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 控制台。上面的代码片段运行没有错误,但没有效果。

标签: windowscygwinstdinnonblockingluajit

解决方案


推荐阅读