Что означает код errno 114 (ELOOP)?

 
Также может означать:
КонстантаТипОС
ERROR_INVALID_TARGET_HANDLEОшибка WindowsWindows
EALREADYerrnoLinux
ASSIGN_DRIVE_LETTERS_FAILEDКод BSODWindows
Предыдущий Следующий
EALREADY EINPROGRESS

ELOOP

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

ELOOP означает «Обнаружено слишком много символических ссылок». Для условия «Обнаружено слишком много символических ссылок» код ELOOP нужно связывать с первым возвратившим его вызовом и контекстом: путь, дескриптор, тип объекта, права и состояние файловой системы.

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

Диагностика

  • При ошибке «Обнаружено слишком много символических ссылок» (Windows UCRT, ELOOP) проверьте каждый компонент пути, фактический root/namespace, владельца, mode, ACL и параметры монтирования.
  • При ошибке «Обнаружено слишком много символических ссылок» (Windows UCRT, ELOOP) установите, относится ли отказ к конечному объекту, родительскому каталогу, дескриптору или промежуточной ссылке.
  • При ошибке «Обнаружено слишком много символических ссылок» (Windows UCRT, ELOOP) запишите flags и mode исходного вызова: open, create, rename и unlink проверяют разные условия.
  • При ошибке «Обнаружено слишком много символических ссылок» (Windows UCRT, ELOOP) не выдавайте широкие права до определения конкретной недостающей возможности.

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

Ссылки для ELOOP


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