rust/src/test/run-pass/task-comm-10.rs

26 lines
437 B
Rust
Raw Normal View History

extern mod std;
2012-08-28 13:11:15 -05:00
fn start(c: pipes::Chan<pipes::Chan<~str>>) {
2012-07-25 16:05:06 -05:00
let (ch, p) = pipes::stream();
c.send(ch);
let mut a;
let mut b;
2012-07-25 16:05:06 -05:00
a = p.recv();
assert a == ~"A";
log(error, a);
2012-07-25 16:05:06 -05:00
b = p.recv();
assert b == ~"B";
log(error, b);
2010-08-11 17:05:33 -05:00
}
2011-04-19 15:35:49 -05:00
fn main() {
2012-07-25 16:05:06 -05:00
let (ch, p) = pipes::stream();
2012-06-30 18:19:07 -05:00
let child = task::spawn(|| start(ch) );
2012-07-25 16:05:06 -05:00
let c = p.recv();
c.send(~"A");
c.send(~"B");
task::yield();
}