22//@ compile-flags:--test
33//@ needs-threads
44
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 } ;
97use std:: sync:: Arc ;
10- use std:: sync:: atomic:: AtomicUsize ;
11- use std:: sync:: atomic:: Ordering ;
12-
138use std:: thread;
149use std:: time:: Duration ;
1510
16-
1711/// Simple thread synchronization utility
1812struct Barrier {
1913 // Not using mutex/condvar for precision
@@ -42,7 +36,6 @@ impl Barrier {
4236 }
4337}
4438
45-
4639fn shared_close_sender_does_not_lose_messages_iter ( ) {
4740 let ( tb, rb) = Barrier :: new2 ( ) ;
4841
@@ -71,7 +64,6 @@ fn shared_close_sender_does_not_lose_messages() {
7164 } ) ;
7265}
7366
74-
7567// https://github.com/rust-lang/rust/issues/39364
7668fn concurrent_recv_timeout_and_upgrade_iter ( ) {
7769 // 1 us
@@ -85,8 +77,8 @@ fn concurrent_recv_timeout_and_upgrade_iter() {
8577 match rx. recv_timeout ( sleep) {
8678 Ok ( _) => {
8779 break ;
88- } ,
89- Err ( _) => { } ,
80+ }
81+ Err ( _) => { }
9082 }
9183 }
9284 } ) ;
@@ -105,7 +97,6 @@ fn concurrent_recv_timeout_and_upgrade() {
10597 } ) ;
10698}
10799
108-
109100fn concurrent_writes_iter ( ) {
110101 const THREADS : usize = 4 ;
111102 const PER_THR : usize = 100 ;
0 commit comments