As in the title what does EAGAIN开发者_Python百科 mean?
EAGAIN is often raised when performing non-blocking I/O. It means "there is no data available right now, try again later".
It might (or might not) be the same as EWOULDBLOCK
, which means "your thread would have to block in order to do that".
Using man 2 intro | less -Ip EAGAIN
:
35 EAGAIN Resource temporarily unavailable. This is a temporary condi-
tion and later calls to the same routine may complete normally.
What it means is less important. What it implies:
- your system call failed
- nothing happened (system calls are atomic, and this one just did not happen)
- you could try it again (it could fail again, possibly with a different result)
- or you could choose otherwise.
The whole thing about EAGAIN
is that your process is not blocked inside the system call; it has the right to choose: either retry or do something useful.
According to this, it means "Operation would have caused the process to be suspended."
精彩评论