From 8385203caa0291d42361788d364108717f9d0478 Mon Sep 17 00:00:00 2001 From: Erik Fong Date: Sat, 31 Jan 2026 11:52:27 -0500 Subject: [PATCH] Hotfix since I realized there could be an issue with choosing relaxed as the default. Seeing that at the moment a Streamer cannot be destroyed and recreated, SeqCst should be fine since there cannot be a performance issue with rapid creation and destruction of the streamers. It is probably worth revisiting. --- src/bladerf.rs | 8 ++++---- src/bladerf1.rs | 8 ++++---- src/bladerf2.rs | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/bladerf.rs b/src/bladerf.rs index ff7986a..ea10b1f 100644 --- a/src/bladerf.rs +++ b/src/bladerf.rs @@ -127,7 +127,7 @@ impl BladeRfAny { ) -> Result> { // TODO: Decide Ordering self.tx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an TX stream open".to_owned().into_boxed_str()) })?; @@ -144,7 +144,7 @@ impl BladeRfAny { // TODO: Decide Ordering device .tx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an TX stream open".to_owned().into_boxed_str()) })?; @@ -160,7 +160,7 @@ impl BladeRfAny { ) -> Result> { // TODO: Decide Ordering self.rx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an RX stream open".to_owned().into_boxed_str()) })?; @@ -177,7 +177,7 @@ impl BladeRfAny { // TODO: Decide Ordering device .rx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an RX stream open".to_owned().into_boxed_str()) })?; diff --git a/src/bladerf1.rs b/src/bladerf1.rs index 53e9df1..5d33b30 100644 --- a/src/bladerf1.rs +++ b/src/bladerf1.rs @@ -202,7 +202,7 @@ impl BladeRf1 { ) -> Result> { // TODO: Decide Ordering self.tx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an TX stream open".to_owned().into_boxed_str()) })?; @@ -218,7 +218,7 @@ impl BladeRf1 { // TODO: Decide Ordering device .tx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an TX stream open".to_owned().into_boxed_str()) })?; @@ -233,7 +233,7 @@ impl BladeRf1 { ) -> Result> { // TODO: Decide Ordering self.rx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an RX stream open".to_owned().into_boxed_str()) })?; @@ -249,7 +249,7 @@ impl BladeRf1 { // TODO: Decide Ordering device .rx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an RX stream open".to_owned().into_boxed_str()) })?; diff --git a/src/bladerf2.rs b/src/bladerf2.rs index 32ed1a3..e4e0c0a 100644 --- a/src/bladerf2.rs +++ b/src/bladerf2.rs @@ -58,7 +58,7 @@ impl BladeRf2 { ) -> Result> { // TODO: Decide Ordering self.tx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an TX stream open".to_owned().into_boxed_str()) })?; @@ -75,7 +75,7 @@ impl BladeRf2 { // TODO: Decide Ordering device .tx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an TX stream open".to_owned().into_boxed_str()) })?; @@ -91,7 +91,7 @@ impl BladeRf2 { ) -> Result> { // TODO: Decide Ordering self.rx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an RX stream open".to_owned().into_boxed_str()) })?; @@ -108,7 +108,7 @@ impl BladeRf2 { // TODO: Decide Ordering device .rx_stream_configured - .compare_exchange(false, true, Ordering::Relaxed, Ordering::Relaxed) + .compare_exchange(false, true, Ordering::SeqCst, Ordering::SeqCst) .map_err(|_err| { Error::Msg("Already have an RX stream open".to_owned().into_boxed_str()) })?;