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.
This commit is contained in:
commit
d9789b6903
@ -73,9 +73,13 @@ impl UnixListener {
|
|||||||
unsafe {
|
unsafe {
|
||||||
let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
|
let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
|
||||||
let (addr, len) = sockaddr_un(path.as_ref())?;
|
let (addr, len) = sockaddr_un(path.as_ref())?;
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
|
const backlog: libc::c_int = -1;
|
||||||
|
#[cfg(not(target_os = "linux"))]
|
||||||
|
const backlog: libc::c_int = 128;
|
||||||
|
|
||||||
cvt(libc::bind(inner.as_inner().as_raw_fd(), &addr as *const _ as *const _, len as _))?;
|
cvt(libc::bind(inner.as_inner().as_raw_fd(), &addr as *const _ as *const _, len as _))?;
|
||||||
cvt(libc::listen(inner.as_inner().as_raw_fd(), 128))?;
|
cvt(libc::listen(inner.as_inner().as_raw_fd(), backlog))?;
|
||||||
|
|
||||||
Ok(UnixListener(inner))
|
Ok(UnixListener(inner))
|
||||||
}
|
}
|
||||||
@ -109,12 +113,16 @@ impl UnixListener {
|
|||||||
pub fn bind_addr(socket_addr: &SocketAddr) -> io::Result<UnixListener> {
|
pub fn bind_addr(socket_addr: &SocketAddr) -> io::Result<UnixListener> {
|
||||||
unsafe {
|
unsafe {
|
||||||
let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
|
let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?;
|
||||||
|
#[cfg(target_os = "linux")]
|
||||||
|
const backlog: libc::c_int = -1;
|
||||||
|
#[cfg(not(target_os = "linux"))]
|
||||||
|
const backlog: libc::c_int = 128;
|
||||||
cvt(libc::bind(
|
cvt(libc::bind(
|
||||||
inner.as_raw_fd(),
|
inner.as_raw_fd(),
|
||||||
&socket_addr.addr as *const _ as *const _,
|
&socket_addr.addr as *const _ as *const _,
|
||||||
socket_addr.len as _,
|
socket_addr.len as _,
|
||||||
))?;
|
))?;
|
||||||
cvt(libc::listen(inner.as_raw_fd(), 128))?;
|
cvt(libc::listen(inner.as_raw_fd(), backlog))?;
|
||||||
Ok(UnixListener(inner))
|
Ok(UnixListener(inner))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user