¿Qué significa el código errno 88 (ENOTSOCK) en Linux?

 
También puede significar:
ConstanteTipoSO
ERROR_NET_WRITE_FAULTError de WindowsWindows
EBADMACHOerrnomacOS
EILSEQerrnoSolaris
FTDISK_INTERNAL_ERRORCódigo BSODWindows
VOLMGRX_INTERNAL_ERRORCódigo BSODWindows
Anterior Siguiente
ELIBEXEC EBADMACHO

ENOTSOCK

Qué significa ENOTSOCK

ENOTSOCK aparece cuando una API exclusiva de sockets recibe un descriptor que representa otro tipo de objeto: archivo, pipe, device, event fd u otro recurso. Se diferencia de EBADF: allí el descriptor es inválido o está cerrado; aquí existe un objeto, pero no es un socket.

En software multihilo o asíncrono puede revelar un error de ciclo de vida. Un socket se cierra, otro camino conserva su número y el kernel reutiliza ese entero para un recurso distinto. Por eso registrar solo el valor numérico en el punto del fallo no basta.

Qué comprobar

  • Registra creación, duplicación, transferencia entre hilos y cierre de cada descriptor.
  • Verifica el tipo real del recurso antes de entrar en una operación específica de socket.
  • Si una abstracción acepta tanto file descriptors genéricos como sockets, haz que valide explícitamente qué clase necesita cada camino.
  • No reintentes la misma llamada hasta establecer identidad y tiempo de vida del descriptor.

Referencias técnicas


¿Buscas un código diferente? Buscar otro código de estado o error.