Skip to content

Commit aaf16e3

Browse files
committed
wip
1 parent 8c980b7 commit aaf16e3

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

crossbeam-epoch/src/internal.rs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,13 @@ impl Global {
228228
/// `try_advance()` is annotated `#[cold]` because it is rarely called.
229229
#[cold]
230230
pub(crate) fn try_advance(&self, guard: &Guard) -> Epoch {
231-
let global_epoch = self.epoch.load(Ordering::Relaxed);
232-
atomic::fence(Ordering::SeqCst);
231+
let global_epoch = if cfg!(crossbeam_sanitize_thread) {
232+
self.epoch.load(Ordering::SeqCst)
233+
} else {
234+
let global_epoch = self.epoch.load(Ordering::Relaxed);
235+
atomic::fence(Ordering::SeqCst);
236+
global_epoch
237+
};
233238

234239
// TODO(stjepang): `Local`s are stored in a linked list because linked lists are fairly
235240
// easy to implement in a lock-free manner. However, traversal can be slow due to cache

0 commit comments

Comments
 (0)