I'm not sure if it's possible to get this error. `EAGAIN` should only happen when a normal read would block due to no data being available in the OS buffer, but the fact that the callback was called means data is available for reading. @saghul what do you think?