| Предыдущий | Следующий |
| WSAEDQUOT | WSAEREMOTE |
WSAESTALE
description[закэшированный дескриптор больше не определяет допустимый объект.]WSAESTALE описывает дескриптор или ссылку, которые ранее определяли объект, но больше не могут быть разрешены в него. Такая семантика тесно связана с распределёнными файловыми системами и совместимостью BSD/POSIX, а не с обычным состоянием TCP-сокета.
Классический сценарий устаревшего дескриптора
NFS явно определяет статус устаревшего файлового дескриптора, когда указанный файловый объект больше не существует или серверный дескриптор больше недействителен. Перезапуск сервера, замена файловой системы, изменение экспорта либо удаление и повторное создание объекта могут сделать закэшированную ссылку недействительной, даже если путь позднее снова существует.
Правильная модель восстановления
- Отбросьте устаревшую ссылку: повторное использование того же дескриптора не сделает его действительным.
- Снова разрешите путь или удостоверение объекта и получите новый дескриптор.
- Сбросьте кэши верхнего уровня, сохранившие старый дескриптор.
- Запишите события сервера и переподключения, а также изменения точки монтирования или общего ресурса около сбоя.
Если этот код появляется в чистом тракте Winsock, определите фактического производителя, поскольку Microsoft отмечает, что некоторые значения Winsock2.h не возвращаются основными функциями Winsock. Не интерпретируйте WSAESTALE как «удалённый узел недоступен».
Microsoft: коды ошибок Winsock · IETF: протокол NFS версии 3 · POSIX: errno.h
Нужно найти другой код? Найти другой код состояния или ошибки.
