From: Valentine Wallace Date: Wed, 17 Feb 2021 03:06:05 +0000 (-0500) Subject: use ReplaceFileW X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=5c8c780697ca1466697b26f581660d1891ee49b0;p=rust-lightning use ReplaceFileW --- diff --git a/lightning-persister/src/util.rs b/lightning-persister/src/util.rs index 5818368d1..9dd9ddb9b 100644 --- a/lightning-persister/src/util.rs +++ b/lightning-persister/src/util.rs @@ -70,7 +70,7 @@ pub(crate) fn write_to_file(path: String, filename: String, da let dir_file = fs::OpenOptions::new().read(true).open(path)?; unsafe { libc::fsync(dir_file.as_raw_fd()); } } - std::thread::sleep(std::time::Duration::new(5, 0)); + // std::thread::sleep(std::time::Duration::new(60, 0)); #[cfg(target_os = "windows")] { println!("VMW: entries in dir:"); @@ -95,11 +95,15 @@ pub(crate) fn write_to_file(path: String, filename: String, da // println!("VMW: about to rename"); // let src = PathBuf::from(tmp_filename); // let dst = PathBuf::from(filename_with_path); - fs::rename(&tmp_filename.clone(), &filename_with_path.clone())?; + // fs::rename(&tmp_filename.clone(), &filename_with_path.clone())?; // call!(unsafe {winapi::um::winbase::MoveFileExW( // path_to_windows_str(src).as_ptr(), path_to_windows_str(dst).as_ptr(), // winapi::um::winbase::MOVEFILE_WRITE_THROUGH | winapi::um::winbase::MOVEFILE_REPLACE_EXISTING // )}); + call!(unsafe {winapi::um::winbase::ReplaceFileW( + path_to_windows_str(src).as_ptr(), path_to_windows_str(dst).as_ptr(), std::ptr::null, + winapi::um::winbase::MOVEFILE_WRITE_THROUGH | winapi::um::winbase::MOVEFILE_REPLACE_EXISTING, std::ptr::null, std::ptr::null + )}); println!("VMW: renamed"); } Ok(())