diff --git a/bbqueue/Cargo.toml b/bbqueue/Cargo.toml index 0b22f57..7fc2691 100644 --- a/bbqueue/Cargo.toml +++ b/bbqueue/Cargo.toml @@ -33,6 +33,11 @@ version = "1.0" default-features = false optional = true +[dependencies.portable-atomic] +version = "1.0" +default-features = false +optional = true + [dev-dependencies.tokio] version = "1.0" features = ["macros", "rt", "time"] @@ -45,7 +50,7 @@ default = [ ] critical-section = [ "dep:critical-section", - "maitake-sync?/critical-section", + "dep:portable-atomic", ] disable-cache-padding = [ "maitake-sync?/no-cache-pad", diff --git a/bbqueue/src/lib.rs b/bbqueue/src/lib.rs index 6a6d303..74bfbf4 100644 --- a/bbqueue/src/lib.rs +++ b/bbqueue/src/lib.rs @@ -127,9 +127,9 @@ pub mod prod_cons; /// Queue storage /// mod queue; -pub use queue::BBQueue; #[cfg(feature = "alloc")] pub use queue::ArcBBQueue; +pub use queue::BBQueue; /// Generic traits /// diff --git a/bbqueue/src/traits/coordination/cs.rs b/bbqueue/src/traits/coordination/cs.rs index 5c5dd47..16dec32 100644 --- a/bbqueue/src/traits/coordination/cs.rs +++ b/bbqueue/src/traits/coordination/cs.rs @@ -6,10 +6,9 @@ use const_init::ConstInit; use super::{Coord, ReadGrantError, WriteGrantError}; -use core::{ - cmp::min, - sync::atomic::{AtomicBool, AtomicUsize, Ordering}, -}; +use core::cmp::min; +use core::sync::atomic::Ordering; +use portable_atomic::{AtomicBool, AtomicUsize}; /// Coordination that uses a critical section to perform coordination operations ///