Rollup merge of #110056 - chenyukang:yukang/fix-110045, r=workingjubilee
Fix the example in document for WaitTimeoutResult::timed_out Fixes #110045
This commit is contained in:
commit
e517ee02b2
@ -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
|
||||
/// }
|
||||
/// }
|
||||
|
Loading…
Reference in New Issue
Block a user