| Anterior | Siguiente |
| EISDIR | ENFILE |
EINVAL
Qué significa EINVAL
EINVAL no tiene una causa universal: significa que la interfaz invocada rechazó uno o varios argumentos o la combinación entre ellos. En mmap(), por ejemplo, puede deberse a longitud, offset, dirección o flags incompatibles; en una conversión numérica puede señalar una base no admitida. La explicación útil siempre está en el contrato de la función concreta.
Tampoco todas las API notifican este código mediante errno. Algunas funciones POSIX devuelven el número de error directamente. El tratamiento debe seguir la convención de retorno de la función, no asumir automáticamente «-1 y luego mirar errno».
Qué comprobar
- Registra el nombre de la función y los valores originales de argumentos, flags, longitudes, offsets y alineaciones relevantes.
- Comprueba relaciones entre parámetros —por ejemplo dependencias entre flags o requisitos de alineación— y no solo cada valor por separado.
- Rechaza opciones no soportadas en el límite de la aplicación y conserva suficiente contexto para identificar la precondición incumplida.
- No repitas una invocación idéntica: normalmente hace falta cambiar la entrada o escoger otra ruta de API.
Referencias técnicas
- Manual de Linux: mmap(2)
- Manual de Linux: posix_memalign(3)
- Manual de Linux: strtol(3)
- POSIX: posix_memalign()
¿Buscas un código diferente? Buscar otro código de estado o error.
