| Предыдущий | Следующий |
| DNS_ERROR_POLICY_INVALID_CRITERIA_TIME_OF_DAY | WSAEBADF |
WSAEINTR
WSAEINTR является результатом отмены для блокирующего вызова Winsock 1.1 . Windows документирует этот код специально для вызова, прерванного через WSACancelBlockingCall; это не обычный результат завершения современного неблокирующего или перекрывающегося ввода-вывода.
Почему вызов был прерван
Старый код Winsock мог блокироваться внутри таких операций, как connect, acceptили recv. Запрос отмены прекращает это ожидание, поэтому исходная операция не имеет успешного результата для обработки. Ошибка говорит больше о жизненном цикле вызывающей стороны, чем об удалённом узле, DNS, маршрутизации или TLS.
Как безопасно обработать состояние
- Зафиксируйте вызов API, состояние сокета и путь кода, инициировавший отмену; не классифицируйте это как сетевой сбой.
- Не предполагайте, что повторная попытка всегда правильна. Сначала установите, имела ли операция побочные эффекты и остаётся ли сокет пригодным по контракту вызываемого API.
- Для нового кода предпочитайте явный неблокирующий или перекрывающийся ввод-вывод с путём событий или завершений вместо отмены устаревшего блокирующего вызова.
Microsoft: connect · Microsoft: коды ошибок Winsock · The Open Group: модель сокетов
Нужно найти другой код? Найти другой код состояния или ошибки.