From 3844c87b284b6e2c80d1fd667887e0d252a56a53 Mon Sep 17 00:00:00 2001 From: Stefan Schindler Date: Sun, 24 Sep 2017 16:16:35 +0200 Subject: [PATCH] Add comments --- src/lib.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 1623a96..52f16ce 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -619,11 +619,12 @@ impl ThreadPool { let generation = self.shared_data.join_generation.load(Ordering::SeqCst); let mut lock = self.shared_data.empty_trigger.lock().unwrap(); - while generation == self.shared_data.join_generation.load(Ordering::Relaxed) && - self.shared_data.has_work() { + while generation == self.shared_data.join_generation.load(Ordering::Relaxed) + && self.shared_data.has_work() { lock = self.shared_data.empty_condvar.wait(lock).unwrap(); } + // increase generation if we are the first thread to come out of the loop self.shared_data.join_generation.compare_and_swap(generation, generation.wrapping_add(1), Ordering::SeqCst); } }