Leer y escribir no son tan simétricos como crees: los errores de escritura llegan tarde

Reading and writing are less symmetric than you (probably) think

Las operaciones de lectura y escritura parecen espejos, pero el buffering las vuelve muy distintas. En una lectura, cualquier fallo —archivo corto, disco inaccesible— aparece antes de que fread retorne. En una escritura, la librería copia los datos al búfer y devuelve éxito al instante; el write real y sus errores se posponen hasta un fflush, fclose o fsync que casi nadie comprueba. Incluso tras fsync, las cachés del dispositivo y los metadatos del directorio dejan huecos.

El buffering en el lado de la escritura es mucho más complicado porque retrasa la escritura real y el reporte de errores de formas que se supone que la mayoría de los programadores conoce, pero que por lo general desconocen.

Más de este día

2026-10-31