| Предыдущий | Следующий |
| 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
Нужно найти другой код? Найти другой код состояния или ошибки.