extern crate tiny_http;
use std::sync::Arc;
use std::thread;
#[test]
fn unblock_server() {
let server = tiny_http::Server::http("0.0.0.0:0").unwrap();
let s = Arc::new(server);
let s1 = s.clone();
thread::spawn(move || s1.unblock());
for _rq in s.incoming_requests() {}
}
#[test]
fn unblock_threads() {
let server = tiny_http::Server::http("0.0.0.0:0").unwrap();
let s = Arc::new(server);
let s1 = s.clone();
let s2 = s.clone();
let h1 = thread::spawn(move || for _rq in s1.incoming_requests() {});
let h2 = thread::spawn(move || for _rq in s2.incoming_requests() {});
s.unblock();
s.unblock();
h1.join().unwrap();
h2.join().unwrap();
}