use std::sync::atomic::Ordering; use stoplight; fn main() { // spawn our task, this creates a new OS thread. let th = stoplight::spawn(|stop| { while !stop.load(Ordering::Relaxed) {} 42 }); // stop() signals the thread to stop, and then join returns its return value. th.stop(); assert_eq!(th.join().unwrap(), 42); }