From 489d9ada440d61a780fa1a657f6bf7515a373f4a Mon Sep 17 00:00:00 2001 From: NoisyCoil Date: Tue, 6 Aug 2024 17:51:43 +0200 Subject: [PATCH] fix: 64-bit atomics for platforms with no 64-bit atomics Closes: #423 --- Cargo.toml | 3 +++ src/progress.rs | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 0535072..6330bb9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,6 +44,9 @@ sysinfo = "0.27" ctrlc = "3.4" chrono = "0.4" +[target.'cfg(not(target_has_atomic = "64"))'.dependencies] +portable-atomic = "1.4" + [target.'cfg(windows)'.dependencies] winapi-util = "0.1" filesize = "0.2.0" diff --git a/src/progress.rs b/src/progress.rs index 138ab01..45def8f 100644 --- a/src/progress.rs +++ b/src/progress.rs @@ -3,7 +3,7 @@ use std::{ io::Write, path::Path, sync::{ - atomic::{AtomicU64, AtomicU8, AtomicUsize, Ordering}, + atomic::{AtomicU8, AtomicUsize, Ordering}, mpsc::{self, RecvTimeoutError, Sender}, Arc, RwLock, }, @@ -11,6 +11,11 @@ use std::{ time::Duration, }; +#[cfg(not(target_has_atomic = "64"))] +use portable_atomic::AtomicU64; +#[cfg(target_has_atomic = "64")] +use std::sync::atomic::AtomicU64; + use crate::display::human_readable_number; /* -------------------------------------------------------------------------- */