Es su responsabilidad en una aplicación multiproceso serializar el acceso a los descriptores de archivos. En todos los procesos, puede usar el flock(2)
syscall para sincronizar el acceso al mismo archivo.
El kernel no fallará si accede al mismo archivo desde dos procesos/subprocesos diferentes, pero puede sobrescribir o dañar la posición del archivo y los datos del archivo de una manera indefinida.
Linux no utiliza ningún mecanismo de bloqueo para proteger la escritura multiproceso en un archivo.
Tienes que usar tu propio mutex para proteger tu archivo.