Skip to main content

write_atomic

Function write_atomic 

Source
pub fn write_atomic(
    path: impl AsRef<Path>,
    content: &[u8],
) -> Result<(), CoreError>
Expand description

Atomically replace path with content.

The parent directory is opened O_NOFOLLOW component-by-component and held as a directory fd; the content is written to a fresh O_CREAT|O_EXCL temp file via openat and then renameatd over the destination. A symlink anywhere in the parent path fails the open; a symlink at the destination is replaced by the rename, never followed (N5).