use std;
import comm::*;
import task::*;
fn a() {
fn doit() {
fn b(c: chan<chan<int>>) {
let p = port();
send(c, chan(p));
}
let p = port();
let ch = chan(p);
spawn {|| b(ch); };
recv(p);
}
let i = 0;
while i < 100 {
doit();
i += 1;
}
}
fn main() {
let t = spawn_joinable {|| a(); };
join(t);
}