| Anterior | Siguiente |
| ENOSPC | EROFS |
ESPIPE
Qué significa ESPIPE
ESPIPE significa que una operación intentó usar una posición de archivo en un objeto que no tiene un offset reposicionable. Pipes, FIFO y sockets transportan secuencias de datos; no permiten mover una posición hacia atrás o adelante como un archivo regular. Terminales y algunos dispositivos presentan la misma limitación.
El errno suele proceder de lseek(), aunque una biblioteca de más alto nivel puede hacerlo visible cuando internamente intenta posicionar el descriptor. No implica que el flujo esté roto: la operación elegida es incompatible con un origen secuencial.
Qué comprobar
- Clasifica el descriptor antes de usar API de posicionamiento: archivo regular, dispositivo seekable, pipe, FIFO, socket, terminal o wrapper de stream.
- Si un protocolo sobre pipe/socket necesita mirar adelante o releer, conserva los bytes necesarios en un búfer de aplicación.
- Si una API exige acceso aleatorio, vuelca el flujo a un archivo regular temporal o rediseña el formato para procesamiento secuencial.
- No repitas
lseek()sobre el mismo objeto no seekable; su capacidad no cambia por reintentar.
Referencias técnicas
¿Buscas un código diferente? Buscar otro código de estado o error.
