]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
0bf4aa26 | 2 | #![allow(unused_must_use)] |
7453a54e SL |
3 | // ignore-emscripten no threads support |
4 | ||
c34b1796 | 5 | use std::thread; |
1a4d82fc | 6 | use std::sync::mpsc::{channel, Sender}; |
223e47cc LB |
7 | |
8 | pub fn main() { test00(); } | |
9 | ||
c34b1796 AL |
10 | fn test00_start(c: &Sender<isize>, number_of_messages: isize) { |
11 | let mut i: isize = 0; | |
1a4d82fc | 12 | while i < number_of_messages { c.send(i + 0).unwrap(); i += 1; } |
223e47cc LB |
13 | } |
14 | ||
15 | fn test00() { | |
c34b1796 AL |
16 | let r: isize = 0; |
17 | let mut sum: isize = 0; | |
1a4d82fc | 18 | let (tx, rx) = channel(); |
c34b1796 | 19 | let number_of_messages: isize = 10; |
223e47cc | 20 | |
9346a6ac | 21 | let result = thread::spawn(move|| { |
1a4d82fc JJ |
22 | test00_start(&tx, number_of_messages); |
23 | }); | |
223e47cc | 24 | |
c34b1796 | 25 | let mut i: isize = 0; |
223e47cc | 26 | while i < number_of_messages { |
1a4d82fc JJ |
27 | sum += rx.recv().unwrap(); |
28 | println!("{}", r); | |
223e47cc LB |
29 | i += 1; |
30 | } | |
31 | ||
1a4d82fc | 32 | result.join(); |
223e47cc | 33 | |
970d7e83 | 34 | assert_eq!(sum, number_of_messages * (number_of_messages - 1) / 2); |
223e47cc | 35 | } |