什么时候 open() 会再次失败?



我在使用 open(( 系统调用打开文件期间看到失败。在查询最后一个错误时,我看到 11,EAGAIN (EWILLBLOCK(。我不是每次都看到此错误,而是间歇性地看到此错误。

我不明白为什么我会收到错误。我确信该文件目前仅由我修改。因此,我想知道我们可以看到 EAGAIN 故障的情况是什么。

有没有办法记录Android内核日志以获取有关此故障的更多详细信息?

****************更新********************

我添加了重试机制,之后我的重试也失败了,但有File_NOT_FOUND错误,这对我来说现在很有意义。我认为一些背景活动一定是持有它然后删除它。

手册页是这样说的: EAGAIN 文件描述符 fd 是指套接字以外的文件 并已标记为非阻塞 (O_NONBLOCK(,并且读取 会阻止。

EAGAIN 资源暂时不可用(可能与 EWILL 块的值相同(。

所以,再试一次。

相关内容

最新更新