What does EAGAIN mean?
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.