From f1b6d98daeb9c748d450b0788a5da1bf3d1713bc Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Wed, 4 Nov 2020 16:56:53 +0900 Subject: [PATCH] wip --- ci/tsan | 3 +++ crossbeam-channel/tests/tick.rs | 2 ++ crossbeam-epoch/src/collector.rs | 1 + 3 files changed, 6 insertions(+) diff --git a/ci/tsan b/ci/tsan index 62c5d67f3..8c7e23fc9 100644 --- a/ci/tsan +++ b/ci/tsan @@ -8,3 +8,6 @@ race:crossbeam_epoch # forgotten and the steal operation is then retried. race:crossbeam_deque*push race:crossbeam_deque*steal + +# AtomicCell::compare_exchange uses fences if it is not lock-free. +race:crossbeam_utils::atomic::atomic_cell::AtomicCell::compare_exchange diff --git a/crossbeam-channel/tests/tick.rs b/crossbeam-channel/tests/tick.rs index 5dc87306f..8f1e634d7 100644 --- a/crossbeam-channel/tests/tick.rs +++ b/crossbeam-channel/tests/tick.rs @@ -127,6 +127,7 @@ fn recv() { assert_eq!(r.try_recv(), Err(TryRecvError::Empty)); } +#[cfg(not(feature = "sanitize"))] #[test] fn recv_timeout() { let start = Instant::now(); @@ -251,6 +252,7 @@ fn select() { assert_eq!(hits.load(Ordering::SeqCst), 8); } +#[cfg(not(feature = "sanitize"))] #[test] fn ready() { const THREADS: usize = 4; diff --git a/crossbeam-epoch/src/collector.rs b/crossbeam-epoch/src/collector.rs index 8224e1184..de6060a40 100644 --- a/crossbeam-epoch/src/collector.rs +++ b/crossbeam-epoch/src/collector.rs @@ -199,6 +199,7 @@ mod tests { .unwrap(); } + #[cfg(not(feature = "sanitize"))] #[test] fn incremental() { const COUNT: usize = 100_000;