From 918258ff1523a6c976304f114a3bde5cd77cd9ef Mon Sep 17 00:00:00 2001 From: David CARLIER Date: Sun, 21 Aug 2022 06:58:51 +0100 Subject: [PATCH] net listen backlog update, follow-up from #97963. FreeBSD and using system limit instead for others. --- library/std/src/os/unix/net/listener.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/library/std/src/os/unix/net/listener.rs b/library/std/src/os/unix/net/listener.rs index 3b2601e755a97..eeef5882234fa 100644 --- a/library/std/src/os/unix/net/listener.rs +++ b/library/std/src/os/unix/net/listener.rs @@ -73,10 +73,11 @@ impl UnixListener { unsafe { let inner = Socket::new_raw(libc::AF_UNIX, libc::SOCK_STREAM)?; 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; + const backlog: libc::c_int = if cfg!(any(target_os = "linux", target_os = "freebsd")) { + -1 + } else { + libc::SOMAXCONN + }; 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(), backlog))?;