Как и в названии, что означает EAGAIN?
Что означает EAGAIN?
Ответ 1
EAGAIN часто возникает при выполнении неблокирующих операций ввода-вывода. Это означает, что "нет доступных данных прямо сейчас, повторите попытку позже".
Он мог (или не мог) быть таким же, как EWOULDBLOCK
, что означает "ваш поток должен был бы блокировать, чтобы сделать это".
Ответ 2
Использование 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.
Ответ 3
То, что это означает, менее важно. Что это означает:
- ваш системный вызов не выполнен.
- ничего не произошло (системные вызовы являются атомарными, и этого просто не было)
- вы можете попробовать еще раз (это может снова потерпеть неудачу, возможно, с другим результатом)
- или вы можете выбрать другое.
Все о EAGAIN
заключается в том, что ваш процесс не заблокирован внутри системного вызова; он имеет право выбрать: либо повторить попытку, либо сделать что-то полезное.
Ответ 4
В соответствии с this, это означает, что операция приведет к приостановке процесса.