Skip to content

Commit d9789b6

Browse files
authored
Rollup merge of #97963 - devnexen:net_listener_neg, r=the8472
net listen backlog set to negative on Linux. it will be 4076 (from 5.4) or 128.
2 parents dd01122 + 5454bca commit d9789b6

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

library/std/src/os/unix/net/listener.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)