20 lines
505 B
Rust
20 lines
505 B
Rust
// run-pass
|
|
// ignore-emscripten no threads support
|
|
// ignore-sgx no thread sleep support
|
|
|
|
use std::thread::{self, sleep};
|
|
use std::time::Duration;
|
|
use std::sync::{Arc, Mutex};
|
|
use std::u64;
|
|
|
|
fn main() {
|
|
let finished = Arc::new(Mutex::new(false));
|
|
let t_finished = finished.clone();
|
|
thread::spawn(move || {
|
|
sleep(Duration::new(u64::MAX, 0));
|
|
*t_finished.lock().unwrap() = true;
|
|
});
|
|
sleep(Duration::from_millis(100));
|
|
assert_eq!(*finished.lock().unwrap(), false);
|
|
}
|