在aio_read中,我们对aiocb结构使用aio_error函数来检查操作是否完成。对我来说,它看起来像是轮询和读取,然后检查EWOULDBLOCK作为返回值。
最佳答案
我们对aiocb结构使用aio_error函数来检查操作是否完成。
不,我们没有。我们用它来检查是否有错误。
对我来说,它看起来像是轮询和读取,然后检查EWOULDBLOCK作为返回值。
不。如果操作没有完成,不管有没有错误,都会异步继续。EWOULDBLOCK是指操作已完成且未传输任何数据。
在使用异步I/O时,您当然不应该“轮询”:您应该只允许完成处理程序运行,并让它检查结果是什么。