我希望能够判断一个字符特殊文件是否会阻塞,如果一个字符是从它读取的,而实际上没有从它读取一个字符。这能办到吗?
发布于 2016-06-15 12:00:55
POSIX允许“可能检测和返回错误”的非阻塞零字符读取,包括读取将阻止:
open(2)
O_NONBLOCK
read(2)
如果此read操作在这种情况下检查错误,那么如果读取将阻塞,则read将返回-1并将errno设置为EAGAIN (或者可能为套接字设置EWOULDBLOCK,但您在询问字符设备)。
read
errno
EAGAIN
EWOULDBLOCK
发布于 2016-06-15 16:08:03
在C或C++中,您通常会使用pselect()来测试是否有可以读取的数据。您可以这样做,而不必将文件描述符模式设置为非阻塞模式。
pselect()
https://unix.stackexchange.com/questions/289895
相似问题