rust/src/test/run-pass/send-iloop.rs
2012-07-01 19:19:32 -07:00

29 lines
544 B
Rust

// xfail-win32
use std;
import task;
import comm;
import uint;
fn die() {
fail;
}
fn iloop() {
task::spawn(|| die() );
let p = comm::port::<()>();
let c = comm::chan(p);
loop {
// Sending and receiving here because these actions yield,
// at which point our child can kill us
comm::send(c, ());
comm::recv(p);
}
}
fn main() {
for uint::range(0u, 16u) |_i| {
let builder = task::builder();
task::unsupervise(builder);
task::run(builder, || iloop() );
}
}