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

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

EAGAIN

Что означает EAGAIN в Windows UCRT

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

Для условия «Ресурс временно недоступен» сначала установите канал ошибки: UCRT использует errno, Win32 API — GetLastError(), а Winsock — WSAGetLastError(); эти значения не взаимозаменяемы. Для EAGAIN исходная английская страница также выделяет errno, GetLastError, WSAE*, WSAGetLastError, WSAEWOULDBLOCK и UCRT; эти данные полезно записать вместе с return value, потоком и временем события.

Диагностика

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

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

Ссылки для EAGAIN


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