Is there a way I can determine if a certain message resulted in an EWOULDBLOCK/EAGAIN return code to the server which sent the packet?

  • The server was sending messages to the client
  • At time 10,the server sent message 100
  • At time 20, the server sent message up to 200. No acks from client yet. (I assume this is because the outgoing data buffer is still available)
  • At time 21, the client sent ack for message 150
  • At time 30, the server has sent up to message 300
  • At time 31, the client sends ack for message 199
  • At time 32, server sends 301 and doesnt send messages for a while afterwards.
  • At time 35, server sends 302 and onwards, although I can confirm 302 was generated right after 301 without a delay.

I want to confirm if this is due to server obtaining a EWOULDBLOCK for the send of 302.


If the sender got one of those errors EWOULDBLOCK or EAGAIN when trying to send to the network, nothing would have been sent. You can then be sure that the presence of a packet on the network indicates that the sender did not receive these errors.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.