As in the title what does EAGAIN 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".