我的代码使用epoll进行多路复用。遇到EPOLLIN后,它从就绪套接字中读取一个字节。
read(fd, &onebyte, 1);
以上行可以返回EWOULDBLOCK吗?
答案 0 :(得分:1)
是,
<强>错误强>:
...
EAGAIN或 EWOULDBLOCK
文件描述符fd指的是套接字并已标记 非阻塞(O_NONBLOCK),读取将阻塞。 POSIX.1-2001 允许在这种情况下返回错误,并且不需要 这些常量具有相同的值,因此是一个可移植的应用程序 应检查两种可能性