From 2c8cc70ea045e3d22ccb3eacb83bb748c717abc7 Mon Sep 17 00:00:00 2001 From: Mara Bos Date: Tue, 4 Jan 2022 15:58:29 +0000 Subject: Use > rather than == for overflow check in scoped threads. Co-authored-by: Jacob Lifshay --- library/std/src/thread/scoped.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'library/std/src/thread') diff --git a/library/std/src/thread/scoped.rs b/library/std/src/thread/scoped.rs index cb5f48e5107..cc44eccc0a0 100644 --- a/library/std/src/thread/scoped.rs +++ b/library/std/src/thread/scoped.rs @@ -29,7 +29,7 @@ impl ScopeData { pub(super) fn increment_n_running_threads(&self) { // We check for 'overflow' with usize::MAX / 2, to make sure there's no // chance it overflows to 0, which would result in unsoundness. - if self.n_running_threads.fetch_add(1, Ordering::Relaxed) == usize::MAX / 2 { + if self.n_running_threads.fetch_add(1, Ordering::Relaxed) > usize::MAX / 2 { // This can only reasonably happen by mem::forget()'ing many many ScopedJoinHandles. self.decrement_n_running_threads(false); panic!("too many running threads in thread scope"); -- cgit 1.4.1-3-g733a5