diff options
| author | yukang <moorekang@gmail.com> | 2023-04-08 00:50:06 +0800 |
|---|---|---|
| committer | yukang <moorekang@gmail.com> | 2023-07-30 16:39:33 +0800 |
| commit | d67d9890ae20492e26803d70b993ab5b03785890 (patch) | |
| tree | eaf78af67a4af91723a5025b476b674cb308f1ab | |
| parent | 2e0136a131f6ed5f6071adf36db08dd8d2205d19 (diff) | |
| download | rust-d67d9890ae20492e26803d70b993ab5b03785890.tar.gz rust-d67d9890ae20492e26803d70b993ab5b03785890.zip | |
Fix the example in document for WaitTimeoutResult::timed_out
| -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 /// } /// } |
