Skip to content

Commit

Permalink
Use fdatasync for File::sync_data on more OSes
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomasdezeeuw committed Oct 13, 2020
1 parent 7820135 commit 8c0c7ec
Showing 1 changed file with 16 additions and 2 deletions.
18 changes: 16 additions & 2 deletions library/std/src/sys/unix/fs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -752,11 +752,25 @@ impl File {
unsafe fn os_datasync(fd: c_int) -> c_int {
libc::fcntl(fd, libc::F_FULLFSYNC)
}
#[cfg(target_os = "linux")]
#[cfg(any(
target_os = "freebsd",
target_os = "linux",
target_os = "android",
target_os = "netbsd",
target_os = "openbsd"
))]
unsafe fn os_datasync(fd: c_int) -> c_int {
libc::fdatasync(fd)
}
#[cfg(not(any(target_os = "macos", target_os = "ios", target_os = "linux")))]
#[cfg(not(any(
target_os = "android",
target_os = "freebsd",
target_os = "ios",
target_os = "linux",
target_os = "macos",
target_os = "netbsd",
target_os = "openbsd"
)))]
unsafe fn os_datasync(fd: c_int) -> c_int {
libc::fsync(fd)
}
Expand Down

0 comments on commit 8c0c7ec

Please sign in to comment.