Site icon EfmSoft

Что означает код errno 38 (ENOTSOCK)?

 
Также может означать:
КонстантаТипОС
ERROR_HANDLE_EOFОшибка WindowsWindows
KERN_LOCK_SET_DESTROYEDКод возврата ядра macOSmacOS
ippStsSymKernelExpectedСтатус Intel IPPЛюбая
ENOSYSerrnoLinux
EL2NSYNCerrnoSolaris
ENAMETOOLONGerrnoWindows
CDFS_FILE_SYSTEMКод BSODWindows
Предыдущий Следующий
ENOSYS EL2NSYNC

ENOTSOCK

Дескриптор допустим только как число

ENOTSOCK означает, что аргумент, переданный API сокетов, не указывает на объект сокета. Это не ошибка сетевой доступности, и она не определяет удалённую конечную точку. Сбой локально связан с владением дескриптором, его временем жизни или выбором API.

Распространённая диагностическая ловушка — записывать только числовой дескриптор. После закрытия одним потоком ядро может повторно использовать то же число для несвязанного файла. Отложенный обратный вызов затем выполнит send(), connect() или shutdown() для неправильного объекта и получит ENOTSOCK.

Какие данные собрать

Почему повторное подключение не устраняет ошибку

Создание нового сетевого соединения может временно скрыть гонку, но не исправит вызов, использовавший дескриптор не-сокета. Дефект находится в локальном владении ресурсом или в выборе API сокетов для файлового дескриптора другого вида.

Ссылки


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

Exit mobile version