何时open()会因EAGAIN而失败?

时间:2018-06-07 18:04:30

标签: android file file-io stderr

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

我无法理解为什么我会收到错误。我确信此文件仅由我修改。因此,我想知道在哪些情况下我们可以看到EAGAIN失败。

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

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

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

1 个答案:

答案 0 :(得分:-1)

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

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

所以,再试一次。