it-roy-ru.com

Что значит EAGAIN?

Как в заголовке, что означает EAGAIN?

56
mrdavenz

EAGAIN часто поднимается при выполнении неблокирующего ввода/вывода . Это означает "сейчас нет доступных данных, попробуйте позже".

Это может (или может не ) быть таким же, как EWOULDBLOCK, что означает "ваш поток должен был бы заблокировать, чтобы сделать это".

57
Frédéric Hamidi

Используя 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.
15
turfx

Что это значит, менее важно. Что это означает:

  • ваш системный вызов не удался
  • ничего не произошло (системные вызовы являются атомарными, а этого просто не произошло)
  • вы можете попробуйте снова (может произойти сбой снова , возможно, с другим результатом)
  • или вы можете выбрать иначе.

Все, что связано с EAGAIN, заключается в том, что ваш процесс не блокируется внутри системного вызова; он имеет право выбирать: либо повторить попытку, либо сделать что-нибудь полезное.

4
wildplasser

Согласно это , это означает, что «операция привела бы к приостановке процесса».

0
thelost