]> git.proxmox.com Git - rustc.git/blame - src/test/run-pass/threads-sendsync/task-comm-6.rs
New upstream version 1.37.0+dfsg1
[rustc.git] / src / test / run-pass / threads-sendsync / task-comm-6.rs
CommitLineData
b7449926 1// run-pass
0bf4aa26
XL
2#![allow(unused_mut)]
3#![allow(unused_assignments)]
1a4d82fc
JJ
4
5use std::sync::mpsc::channel;
223e47cc
LB
6
7pub fn main() { test00(); }
8
9fn test00() {
c34b1796
AL
10 let mut r: isize = 0;
11 let mut sum: isize = 0;
1a4d82fc
JJ
12 let (tx, rx) = channel();
13 let mut tx0 = tx.clone();
14 let mut tx1 = tx.clone();
15 let mut tx2 = tx.clone();
16 let mut tx3 = tx.clone();
c34b1796
AL
17 let number_of_messages: isize = 1000;
18 let mut i: isize = 0;
223e47cc 19 while i < number_of_messages {
1a4d82fc
JJ
20 tx0.send(i + 0).unwrap();
21 tx1.send(i + 0).unwrap();
22 tx2.send(i + 0).unwrap();
23 tx3.send(i + 0).unwrap();
223e47cc
LB
24 i += 1;
25 }
26 i = 0;
27 while i < number_of_messages {
1a4d82fc 28 r = rx.recv().unwrap();
223e47cc 29 sum += r;
1a4d82fc 30 r = rx.recv().unwrap();
223e47cc 31 sum += r;
1a4d82fc 32 r = rx.recv().unwrap();
223e47cc 33 sum += r;
1a4d82fc 34 r = rx.recv().unwrap();
223e47cc
LB
35 sum += r;
36 i += 1;
37 }
970d7e83 38 assert_eq!(sum, 1998000);
223e47cc
LB
39 // assert (sum == 4 * ((number_of_messages *
40 // (number_of_messages - 1)) / 2));
41
42}