@@ -73,9 +73,13 @@ impl UnixListener {
7373 unsafe {
7474 let inner = Socket :: new_raw ( libc:: AF_UNIX , libc:: SOCK_STREAM ) ?;
7575 let ( addr, len) = sockaddr_un ( path. as_ref ( ) ) ?;
76+ #[ cfg( target_os = "linux" ) ]
77+ const backlog: libc:: c_int = -1 ;
78+ #[ cfg( not( target_os = "linux" ) ) ]
79+ const backlog: libc:: c_int = 128 ;
7680
7781 cvt ( libc:: bind ( inner. as_inner ( ) . as_raw_fd ( ) , & addr as * const _ as * const _ , len as _ ) ) ?;
78- cvt ( libc:: listen ( inner. as_inner ( ) . as_raw_fd ( ) , 128 ) ) ?;
82+ cvt ( libc:: listen ( inner. as_inner ( ) . as_raw_fd ( ) , backlog ) ) ?;
7983
8084 Ok ( UnixListener ( inner) )
8185 }
@@ -109,12 +113,16 @@ impl UnixListener {
109113 pub fn bind_addr ( socket_addr : & SocketAddr ) -> io:: Result < UnixListener > {
110114 unsafe {
111115 let inner = Socket :: new_raw ( libc:: AF_UNIX , libc:: SOCK_STREAM ) ?;
116+ #[ cfg( target_os = "linux" ) ]
117+ const backlog: libc:: c_int = -1 ;
118+ #[ cfg( not( target_os = "linux" ) ) ]
119+ const backlog: libc:: c_int = 128 ;
112120 cvt ( libc:: bind (
113121 inner. as_raw_fd ( ) ,
114122 & socket_addr. addr as * const _ as * const _ ,
115123 socket_addr. len as _ ,
116124 ) ) ?;
117- cvt ( libc:: listen ( inner. as_raw_fd ( ) , 128 ) ) ?;
125+ cvt ( libc:: listen ( inner. as_raw_fd ( ) , backlog ) ) ?;
118126 Ok ( UnixListener ( inner) )
119127 }
120128 }
0 commit comments