Что означает код errno 11 (EAGAIN)?

 
Также может означать:
КонстантаТипОС
ERROR_BAD_FORMATОшибка WindowsWindows
KERN_ALREADY_IN_SETКод возврата ядра macOSmacOS
ippStsResFloorСтатус Intel IPPЛюбая
EDEADLKerrnomacOS
EAGAINerrnoSolaris
EAGAINerrnoWindows
NO_EXCEPTION_HANDLING_SUPPORTКод BSODWindows
Предыдущий Следующий
ECHILD EDEADLK

EAGAIN

Что означает EAGAIN в Linux

EAGAIN означает «Ресурс временно недоступен». Для условия «Ресурс временно недоступен» код EAGAIN нужно связывать с первым возвратившим его вызовом и контекстом: лимит процесса или системы, память, дескрипторы, блокировки и временное состояние.

После отказа, соответствующего «Ресурс временно недоступен», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для EAGAIN исходная английская страница также выделяет EWOULDBLOCK, O_NONBLOCK, MSG_DONTWAIT и CPU; эти данные полезно записать вместе с return value, потоком и временем события.

Диагностика

  • При ошибке «Ресурс временно недоступен» (Linux, EAGAIN) снимите текущие rlimit, количество дескрипторов, память, блокировки и глубину очередей.
  • При ошибке «Ресурс временно недоступен» (Linux, EAGAIN) отделите временную нехватку от утечки; retry с backoff допустим только для документированно временного условия.
  • При ошибке «Ресурс временно недоступен» (Linux, EAGAIN) сохраните метрики до cleanup или повтора, иначе первичная причина исчезнет вместе с симптомом.
  • При ошибке «Ресурс временно недоступен» (Linux, EAGAIN) проверьте освобождение ресурса на всех error paths и установите конечный предел повторов.

На платформе Linux исправление EAGAIN считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Ресурс временно недоступен» без утечки ресурсов и потери первичной диагностики.

Ссылки для EAGAIN


Нужно найти другой код? Найти другой код состояния или ошибки.