diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-07-30 14:25:08 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-07-30 14:25:08 +0200 |
| commit | e517ee02b2cd040408657b07b28c97a729d897ea (patch) | |
| tree | 1bf71e09398534a686d53daafd468d4cbf0a065c | |
| parent | 4c9ac1e93b43389890d0d77eeb479b79da62da25 (diff) | |
| parent | d67d9890ae20492e26803d70b993ab5b03785890 (diff) | |
| download | rust-e517ee02b2cd040408657b07b28c97a729d897ea.tar.gz rust-e517ee02b2cd040408657b07b28c97a729d897ea.zip | |
Rollup merge of #110056 - chenyukang:yukang/fix-110045, r=workingjubilee
Fix the example in document for WaitTimeoutResult::timed_out Fixes #110045
| -rw-r--r-- | library/std/src/sync/condvar.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/library/std/src/sync/condvar.rs b/library/std/src/sync/condvar.rs index 76a1b4a2a86..9c4b926b7ec 100644 --- a/library/std/src/sync/condvar.rs +++ b/library/std/src/sync/condvar.rs @@ -21,11 +21,11 @@ impl WaitTimeoutResult { /// /// # Examples /// - /// This example spawns a thread which will update the boolean value and - /// then wait 100 milliseconds before notifying the condvar. + /// This example spawns a thread which will sleep 20 milliseconds before + /// updating a boolean value and then notifying the condvar. /// - /// The main thread will wait with a timeout on the condvar and then leave - /// once the boolean has been updated and notified. + /// The main thread will wait with a 10 millisecond timeout on the condvar + /// and will leave the loop upon timeout. /// /// ``` /// use std::sync::{Arc, Condvar, Mutex}; @@ -49,14 +49,12 @@ impl WaitTimeoutResult { /// /// // Wait for the thread to start up. /// let (lock, cvar) = &*pair; - /// let mut started = lock.lock().unwrap(); /// loop { /// // Let's put a timeout on the condvar's wait. - /// let result = cvar.wait_timeout(started, Duration::from_millis(10)).unwrap(); - /// // 10 milliseconds have passed, or maybe the value changed! - /// started = result.0; - /// if *started == true { - /// // We received the notification and the value has been updated, we can leave. + /// let result = cvar.wait_timeout(lock.lock().unwrap(), Duration::from_millis(10)).unwrap(); + /// // 10 milliseconds have passed. + /// if result.1.timed_out() { + /// // timed out now and we can leave. /// break /// } /// } |
