@@ -661,23 +661,22 @@ mod test {
661
661
let addr = next_test_ip4 ( ) ;
662
662
let mut acceptor = TcpListener :: bind ( addr) . listen ( ) ;
663
663
664
+ let ( tx, rx) = channel ( ) ;
664
665
spawn ( proc ( ) {
665
- let _stream = TcpStream :: connect ( addr) ;
666
- // Close
666
+ drop ( TcpStream :: connect ( addr) ) ;
667
+ tx . send ( ( ) ) ;
667
668
} ) ;
668
669
669
670
let mut stream = acceptor. accept ( ) ;
671
+ rx. recv ( ) ;
670
672
let buf = [ 0 ] ;
671
- loop {
672
- match stream. write ( buf) {
673
- Ok ( ..) => { }
674
- Err ( e) => {
675
- assert ! ( e. kind == ConnectionReset ||
676
- e. kind == BrokenPipe ||
677
- e. kind == ConnectionAborted ,
678
- "unknown error: {}" , e) ;
679
- break ;
680
- }
673
+ match stream. write ( buf) {
674
+ Ok ( ..) => { }
675
+ Err ( e) => {
676
+ assert ! ( e. kind == ConnectionReset ||
677
+ e. kind == BrokenPipe ||
678
+ e. kind == ConnectionAborted ,
679
+ "unknown error: {}" , e) ;
681
680
}
682
681
}
683
682
}
@@ -687,23 +686,22 @@ mod test {
687
686
let addr = next_test_ip6 ( ) ;
688
687
let mut acceptor = TcpListener :: bind ( addr) . listen ( ) ;
689
688
689
+ let ( tx, rx) = channel ( ) ;
690
690
spawn ( proc ( ) {
691
- let _stream = TcpStream :: connect ( addr) ;
692
- // Close
691
+ drop ( TcpStream :: connect ( addr) ) ;
692
+ tx . send ( ( ) ) ;
693
693
} ) ;
694
694
695
695
let mut stream = acceptor. accept ( ) ;
696
+ rx. recv ( ) ;
696
697
let buf = [ 0 ] ;
697
- loop {
698
- match stream. write ( buf) {
699
- Ok ( ..) => { }
700
- Err ( e) => {
701
- assert ! ( e. kind == ConnectionReset ||
702
- e. kind == BrokenPipe ||
703
- e. kind == ConnectionAborted ,
704
- "unknown error: {}" , e) ;
705
- break ;
706
- }
698
+ match stream. write ( buf) {
699
+ Ok ( ..) => { }
700
+ Err ( e) => {
701
+ assert ! ( e. kind == ConnectionReset ||
702
+ e. kind == BrokenPipe ||
703
+ e. kind == ConnectionAborted ,
704
+ "unknown error: {}" , e) ;
707
705
}
708
706
}
709
707
}
0 commit comments