【发布时间】:2016-08-01 01:51:06
【问题描述】:
我看到一种情况,即我有一个正在写入的 TCP 套接字(非阻塞),但在负载下它会陷入不断返回 EAGAIN 的情况。我知道这一点是因为它会停止处理,我可以附加一个调试器并单步执行它。逐步执行,write 调用返回一个错误,并且每次都将 errno 设置为 EAGAIN(它忙于等待 EAGAIN...忽略这是一个坏主意 :)
我的理解是只有在缓冲区已满时才应在写入时返回 EAGAIN,但我不明白什么会阻止它耗尽并且写入调用最终成功。
这是 Ubuntu,Linux 内核 3.19.0-47-generic。
想法?
【问题讨论】:
标签: linux sockets networking tcp