Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
taiki-e committed Jun 17, 2023
1 parent 8c980b7 commit aaf16e3
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions crossbeam-epoch/src/internal.rs
Original file line number Diff line number Diff line change
Expand Up @@ -228,8 +228,13 @@ impl Global {
/// `try_advance()` is annotated `#[cold]` because it is rarely called.
#[cold]
pub(crate) fn try_advance(&self, guard: &Guard) -> Epoch {
let global_epoch = self.epoch.load(Ordering::Relaxed);
atomic::fence(Ordering::SeqCst);
let global_epoch = if cfg!(crossbeam_sanitize_thread) {
self.epoch.load(Ordering::SeqCst)
} else {
let global_epoch = self.epoch.load(Ordering::Relaxed);
atomic::fence(Ordering::SeqCst);
global_epoch
};

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

0 comments on commit aaf16e3

Please sign in to comment.