@@ -87,9 +87,12 @@ async fn try_send_recv_never_block() -> io::Result<()> {
8787 dgram1. writable ( ) . await . unwrap ( ) ;
8888
8989 match dgram1. try_send ( payload) {
90- Err ( err) => match err. kind ( ) {
91- io:: ErrorKind :: WouldBlock | io:: ErrorKind :: Other => break ,
92- _ => unreachable ! ( "unexpected error {:?}" , err) ,
90+ Err ( err) => match ( err. kind ( ) , err. raw_os_error ( ) ) {
91+ ( io:: ErrorKind :: WouldBlock , _) => break ,
92+ ( _, Some ( libc:: ENOBUFS ) ) => break ,
93+ _ => {
94+ panic ! ( "unexpected error {:?}" , err) ;
95+ }
9396 } ,
9497 Ok ( len) => {
9598 assert_eq ! ( len, payload. len( ) ) ;
@@ -291,9 +294,12 @@ async fn try_recv_buf_never_block() -> io::Result<()> {
291294 dgram1. writable ( ) . await . unwrap ( ) ;
292295
293296 match dgram1. try_send ( payload) {
294- Err ( err) => match err. kind ( ) {
295- io:: ErrorKind :: WouldBlock | io:: ErrorKind :: Other => break ,
296- _ => unreachable ! ( "unexpected error {:?}" , err) ,
297+ Err ( err) => match ( err. kind ( ) , err. raw_os_error ( ) ) {
298+ ( io:: ErrorKind :: WouldBlock , _) => break ,
299+ ( _, Some ( libc:: ENOBUFS ) ) => break ,
300+ _ => {
301+ panic ! ( "unexpected error {:?}" , err) ;
302+ }
297303 } ,
298304 Ok ( len) => {
299305 assert_eq ! ( len, payload. len( ) ) ;
0 commit comments