summary refs log tree commit diff
path: root/src/test/ui/sleep.rs
blob: 757578b84750c870c0b9751dcfdff8c351d6db9f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 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);
}