@@ -73,9 +73,13 @@ impl UnixListener {
73
73
unsafe {
74
74
let inner = Socket :: new_raw ( libc:: AF_UNIX , libc:: SOCK_STREAM ) ?;
75
75
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 ;
76
80
77
81
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 ) ) ?;
79
83
80
84
Ok ( UnixListener ( inner) )
81
85
}
@@ -109,12 +113,16 @@ impl UnixListener {
109
113
pub fn bind_addr ( socket_addr : & SocketAddr ) -> io:: Result < UnixListener > {
110
114
unsafe {
111
115
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 ;
112
120
cvt ( libc:: bind (
113
121
inner. as_raw_fd ( ) ,
114
122
& socket_addr. addr as * const _ as * const _ ,
115
123
socket_addr. len as _ ,
116
124
) ) ?;
117
- cvt ( libc:: listen ( inner. as_raw_fd ( ) , 128 ) ) ?;
125
+ cvt ( libc:: listen ( inner. as_raw_fd ( ) , backlog ) ) ?;
118
126
Ok ( UnixListener ( inner) )
119
127
}
120
128
}
0 commit comments