| 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.