@@ -588,7 +588,7 @@ pub extern "C" fn sys_socket(domain: i32, type_: i32, protocol: i32) -> i32 {
588588
589589 #[ cfg( feature = "vsock" ) ]
590590 if domain == Af :: Vsock && sock == Sock :: Stream {
591- let socket = async_lock:: RwLock :: new ( vsock:: Socket :: new ( ) ) ;
591+ let mut socket = async_lock:: RwLock :: new ( vsock:: Socket :: new ( ) ) ;
592592
593593 if sock_flags. contains ( SockFlags :: SOCK_NONBLOCK ) {
594594 block_on ( socket. set_status_flags ( fd:: StatusFlags :: O_NONBLOCK ) , None ) . unwrap ( ) ;
@@ -610,7 +610,7 @@ pub extern "C" fn sys_socket(domain: i32, type_: i32, protocol: i32) -> i32 {
610610 if sock == Sock :: Dgram {
611611 let handle = nic. create_udp_handle ( ) . unwrap ( ) ;
612612 drop ( guard) ;
613- let socket = async_lock:: RwLock :: new ( udp:: Socket :: new ( handle, domain) ) ;
613+ let mut socket = async_lock:: RwLock :: new ( udp:: Socket :: new ( handle, domain) ) ;
614614
615615 if sock_flags. contains ( SockFlags :: SOCK_NONBLOCK ) {
616616 block_on ( socket. set_status_flags ( fd:: StatusFlags :: O_NONBLOCK ) , None ) . unwrap ( ) ;
@@ -626,7 +626,7 @@ pub extern "C" fn sys_socket(domain: i32, type_: i32, protocol: i32) -> i32 {
626626 if sock == Sock :: Stream {
627627 let handle = nic. create_tcp_handle ( ) . unwrap ( ) ;
628628 drop ( guard) ;
629- let socket = async_lock:: RwLock :: new ( tcp:: Socket :: new ( handle, domain) ) ;
629+ let mut socket = async_lock:: RwLock :: new ( tcp:: Socket :: new ( handle, domain) ) ;
630630
631631 if sock_flags. contains ( SockFlags :: SOCK_NONBLOCK ) {
632632 block_on ( socket. set_status_flags ( fd:: StatusFlags :: O_NONBLOCK ) , None ) . unwrap ( ) ;
@@ -650,7 +650,7 @@ pub unsafe extern "C" fn sys_accept(fd: i32, addr: *mut sockaddr, addrlen: *mut
650650 obj. map_or_else (
651651 |e| -i32:: from ( e) ,
652652 |v| {
653- block_on ( async { v. read ( ) . await . accept ( ) . await } , None ) . map_or_else (
653+ block_on ( async { v. write ( ) . await . accept ( ) . await } , None ) . map_or_else (
654654 |e| -i32:: from ( e) ,
655655 #[ cfg_attr( not( feature = "net" ) , expect( unused_variables) ) ]
656656 |( obj, endpoint) | match endpoint {
@@ -712,7 +712,7 @@ pub extern "C" fn sys_listen(fd: i32, backlog: i32) -> i32 {
712712 obj. map_or_else (
713713 |e| -i32:: from ( e) ,
714714 |v| {
715- block_on ( async { v. read ( ) . await . listen ( backlog) . await } , None )
715+ block_on ( async { v. write ( ) . await . listen ( backlog) . await } , None )
716716 . map_or_else ( |e| -i32:: from ( e) , |( ) | 0 )
717717 } ,
718718 )
@@ -740,7 +740,7 @@ pub unsafe extern "C" fn sys_bind(fd: i32, name: *const sockaddr, namelen: sockl
740740 }
741741 let endpoint = IpListenEndpoint :: from ( unsafe { * name. cast :: < sockaddr_in > ( ) } ) ;
742742 block_on (
743- async { v. read ( ) . await . bind ( ListenEndpoint :: Ip ( endpoint) ) . await } ,
743+ async { v. write ( ) . await . bind ( ListenEndpoint :: Ip ( endpoint) ) . await } ,
744744 None ,
745745 )
746746 . map_or_else ( |e| -i32:: from ( e) , |( ) | 0 )
@@ -752,7 +752,7 @@ pub unsafe extern "C" fn sys_bind(fd: i32, name: *const sockaddr, namelen: sockl
752752 }
753753 let endpoint = IpListenEndpoint :: from ( unsafe { * name. cast :: < sockaddr_in6 > ( ) } ) ;
754754 block_on (
755- async { v. read ( ) . await . bind ( ListenEndpoint :: Ip ( endpoint) ) . await } ,
755+ async { v. write ( ) . await . bind ( ListenEndpoint :: Ip ( endpoint) ) . await } ,
756756 None ,
757757 )
758758 . map_or_else ( |e| -i32:: from ( e) , |( ) | 0 )
@@ -764,7 +764,7 @@ pub unsafe extern "C" fn sys_bind(fd: i32, name: *const sockaddr, namelen: sockl
764764 }
765765 let endpoint = VsockListenEndpoint :: from ( unsafe { * name. cast :: < sockaddr_vm > ( ) } ) ;
766766 block_on (
767- async { v. read ( ) . await . bind ( ListenEndpoint :: Vsock ( endpoint) ) . await } ,
767+ async { v. write ( ) . await . bind ( ListenEndpoint :: Vsock ( endpoint) ) . await } ,
768768 None ,
769769 )
770770 . map_or_else ( |e| -i32:: from ( e) , |( ) | 0 )
@@ -816,7 +816,7 @@ pub unsafe extern "C" fn sys_connect(fd: i32, name: *const sockaddr, namelen: so
816816 obj. map_or_else (
817817 |e| -i32:: from ( e) ,
818818 |v| {
819- block_on ( async { v. read ( ) . await . connect ( endpoint) . await } , None )
819+ block_on ( async { v. write ( ) . await . connect ( endpoint) . await } , None )
820820 . map_or_else ( |e| -i32:: from ( e) , |( ) | 0 )
821821 } ,
822822 )
0 commit comments