在标题中 EAGAIN 是什么意思?
EAGAIN 在执行 异步多工文件描述符时经常会升高,表示 “现在没有可用的数据,稍后再试”。
它 也许吧(或 也许不会)与 EWOULDBLOCK相同,即 “你的线程将不得不阻止,为了做到这一点”。
EWOULDBLOCK
根据 这个的说法,这意味着“操作将导致流程暂停。”
使用 man 2 intro | less -Ip EAGAIN:
man 2 intro | less -Ip EAGAIN
35 EAGAIN Resource temporarily unavailable. This is a temporary condi- tion and later calls to the same routine may complete normally.
它的含义不那么重要,它的含义:
关于 EAGAIN的全部事情是,您的进程不会在系统调用内被阻塞; 它有权选择: 重试或者做一些有用的事情。
EAGAIN