| Предыдущий | Следующий |
| ECONNRESET | EDESTADDRREQ |
ETOOMANYREFS
Что означает ETOOMANYREFS в Linux
ETOOMANYREFS означает «Слишком много ссылок: объединение потоков невозможно». Для условия «Слишком много ссылок: объединение потоков невозможно» код ETOOMANYREFS нужно связывать с первым возвратившим его вызовом и контекстом: сокет, локальный и удалённый адрес, семейство, протокол и состояние соединения.
После отказа, соответствующего «Слишком много ссылок: объединение потоков невозможно», сохраните errno немедленно: любой последующий системный или библиотечный вызов может заменить значение. Для ETOOMANYREFS исходная английская страница также выделяет unix(7, sendmsg(2, SCM_RIGHTS, CAP_SYS_RESOURCE, RLIMIT_NOFILE и UNIX; эти данные полезно записать вместе с return value, потоком и временем события.
Диагностика
- При ошибке «Слишком много ссылок: объединение потоков невозможно» (Linux,
ETOOMANYREFS) запишите полный local/remote sockaddr, address family, socket type, protocol и текущее состояние сокета. - При ошибке «Слишком много ссылок: объединение потоков невозможно» (Linux,
ETOOMANYREFS) разделяйте ошибки bind, connect, send и receive: одинаковый endpoint участвует в разных проверках. - При ошибке «Слишком много ссылок: объединение потоков невозможно» (Linux,
ETOOMANYREFS) для неблокирующего режима дождитесь документированного события готовности и затем получите окончательный результат. - При ошибке «Слишком много ссылок: объединение потоков невозможно» (Linux,
ETOOMANYREFS) сопоставьте маршруты, интерфейсы и тайм-ауты клиента, proxy и сервера, сохранив первый отказ.
На платформе Linux исправление ETOOMANYREFS считается подтверждённым, когда исходная операция даёт ожидаемый результат, а отдельный отрицательный тест по-прежнему воспроизводит именно условие «Слишком много ссылок: объединение потоков невозможно» без утечки ресурсов и потери первичной диагностики.
Ссылки для ETOOMANYREFS
Нужно найти другой код? Найти другой код состояния или ошибки.
