2
2
//@ compile-flags:--test
3
3
//@ needs-threads
4
4
5
- use std:: sync:: mpsc:: channel;
6
- use std:: sync:: mpsc:: TryRecvError ;
7
- use std:: sync:: mpsc:: RecvError ;
8
- use std:: sync:: mpsc:: RecvTimeoutError ;
5
+ use std:: sync:: atomic:: { AtomicUsize , Ordering } ;
6
+ use std:: sync:: mpsc:: { channel, RecvError , RecvTimeoutError , TryRecvError } ;
9
7
use std:: sync:: Arc ;
10
- use std:: sync:: atomic:: AtomicUsize ;
11
- use std:: sync:: atomic:: Ordering ;
12
-
13
8
use std:: thread;
14
9
use std:: time:: Duration ;
15
10
16
-
17
11
/// Simple thread synchronization utility
18
12
struct Barrier {
19
13
// Not using mutex/condvar for precision
@@ -42,7 +36,6 @@ impl Barrier {
42
36
}
43
37
}
44
38
45
-
46
39
fn shared_close_sender_does_not_lose_messages_iter ( ) {
47
40
let ( tb, rb) = Barrier :: new2 ( ) ;
48
41
@@ -71,7 +64,6 @@ fn shared_close_sender_does_not_lose_messages() {
71
64
} ) ;
72
65
}
73
66
74
-
75
67
// https://github.com/rust-lang/rust/issues/39364
76
68
fn concurrent_recv_timeout_and_upgrade_iter ( ) {
77
69
// 1 us
@@ -85,8 +77,8 @@ fn concurrent_recv_timeout_and_upgrade_iter() {
85
77
match rx. recv_timeout ( sleep) {
86
78
Ok ( _) => {
87
79
break ;
88
- } ,
89
- Err ( _) => { } ,
80
+ }
81
+ Err ( _) => { }
90
82
}
91
83
}
92
84
} ) ;
@@ -105,7 +97,6 @@ fn concurrent_recv_timeout_and_upgrade() {
105
97
} ) ;
106
98
}
107
99
108
-
109
100
fn concurrent_writes_iter ( ) {
110
101
const THREADS : usize = 4 ;
111
102
const PER_THR : usize = 100 ;
0 commit comments