/src/test/run-pass/lazychan.rs

http://github.com/jruderman/rust · Rust · 25 lines · 19 code · 5 blank · 1 comment · 2 complexity · 4e9886c1b626ced4a59bda4f23a9d6d3 MD5 · raw file

  1. // -*- rust -*-
  2. use std;
  3. import task;
  4. import comm::*;
  5. fn main() {
  6. let p = port();
  7. let ch = chan(p);
  8. let mut y: int;
  9. task::spawn(|| child(ch) );
  10. y = recv(p);
  11. debug!{"received 1"};
  12. log(debug, y);
  13. assert (y == 10);
  14. task::spawn(|| child(ch) );
  15. y = recv(p);
  16. debug!{"received 2"};
  17. log(debug, y);
  18. assert (y == 10);
  19. }
  20. fn child(c: chan<int>) { send(c, 10); }