Cómo se determina mediante programación si la llamada al sistema de "escritura" es atómica en un archivo en particular?

En algunos casos, el codificador no puede confiar en que las llamadas del sistema sean atómicas, p. si el archivo está en un sistema de archivos NFS. (c.f.NFS Descripción general, preguntas frecuentes y documentos HOWTO). Pero las llamadas al sistema atómico son en última instancia necesarias para la mayoría del trabajo de la base de datos. (c.f.Atomicidad de los sistemas de bases de datos).

Existe una forma estándar (e independiente del sistema operativo) de confirmar que las escrituras (y otras llamadas al sistema) son atómicas en un ARCHIVO particular en C (o python).

¿Alguna sugerencia

otas posteriores: la atomicidad en las tuberías se trata a continuación:

unix pipe múltiples escritoresQué sucede si 2 procesos diferentes llaman simultáneamente a una llamada al sistema de escritura en el mismo archivo?

Nota en particular el extracto de la página "man" que se ocupa específicamente de O_APPEND:

Si se establece el indicador O_APPEND de los indicadores de estado del archivo, el desplazamiento del archivo se establecerá al final del archivo antes de cada escritura y no se producirá ninguna operación de modificación del archivo entre el cambio del desplazamiento del archivo y la operación de escritura.

Respuestas a la pregunta(1)

Su respuesta a la pregunta