libuv/src/unix
Stacey Marshall 98a4bab92a
unix,sunos: prefer SO_REUSEPORT for load balancing (#4733)
Solaris 11.4 has Load Balancing for SO_REUSEPORT, but setting
SO_REUSEADDR disables load balancing.  As per comments in
test/test-udp-reuseport.c prefer SO_REUSEPORT when available.

With these changes in place udp-reuseport testing passes.  BIND (named),
which uses routing sockets which cause ENOPROTOOPT to be returned when
SO_REUSEPORT is requested, also continues to work with the change.

Notes:
- The use of getsockopt() to query if SO_REUSEPORT was available was
  erroneous.
- Selectively limiting SO_REUSEPORT setting to specific types of socket
  was considered but not entertained.
- Oracle will investigate if the setting of SO_REUSEADDR was
  intentionally meant to prevent load balancing.
- Adding a test for routing sockets is left for future work.
2025-03-07 22:22:48 +01:00
..
aix-common.c
aix.c aix,ibmi: fix undeclared identifiers (#4730) 2025-03-03 21:08:09 +01:00
async.c macos,bsd: handle missing /dev/null in chroot env (#4689) 2025-02-04 21:43:18 +01:00
bsd-ifaddrs.c unix: handle out of memory in iface name copy (#4724) 2025-02-27 23:30:29 +01:00
bsd-proctitle.c bsd: ensure mutex is initialized (#3428) 2022-01-17 12:55:41 +01:00
core.c unix: enable getrusage for SunOS (#4707) 2025-02-21 22:02:18 +01:00
cygwin.c cygwin: implement uv_resident_set_memory (#4333) 2024-03-02 11:24:57 +01:00
darwin-proctitle.c src: add uv_thread_set/getname() methods (#4599) 2024-11-27 12:52:18 +01:00
darwin-stub.h darwin: use hw.cpufrequency again for frequency info (#3679) 2022-11-08 12:40:17 -05:00
darwin-syscalls.h darwin: add udp mmsg support (#4527) 2024-09-17 23:15:37 +02:00
darwin.c darwin: simplify uv_hrtime 2024-04-15 16:12:10 +02:00
dl.c
freebsd.c dragonflybsd: fix compilation failure (#4534) 2024-09-17 21:27:18 +02:00
fs.c unix,win: accept NAN/INFINITY as file timestamps (#4702) 2025-02-21 23:08:15 +01:00
fsevents.c fsevents: detect watched directory removal (#4376) 2024-07-30 00:59:38 +02:00
getaddrinfo.c unix,win: remove unused req parameter from macros (#4435) 2024-07-11 21:29:15 +02:00
getnameinfo.c unix,win: remove unused req parameter from macros (#4435) 2024-07-11 21:29:15 +02:00
haiku.c unix,win: add uv_get_available_memory() (#3754) 2022-11-24 22:09:32 +01:00
hurd.c unix,win: add uv_get_available_memory() (#3754) 2022-11-24 22:09:32 +01:00
ibmi.c aix,ibmi: fix undeclared identifiers (#4730) 2025-03-03 21:08:09 +01:00
internal.h src: add uv_thread_set/getname() methods (#4599) 2024-11-27 12:52:18 +01:00
kqueue.c Revert "kqueue: change EV_OOBAND to EVFILT_EXCEPT+NOTE_OOB (#4597)" (#4623) 2024-11-26 18:58:45 +01:00
linux.c unix: handle out of memory in iface name copy (#4724) 2025-02-27 23:30:29 +01:00
loop-watcher.c unix,win: replace QUEUE with struct uv__queue (#4022) 2023-05-25 00:04:30 +02:00
loop.c linux: disable SQPOLL io_uring by default (#4492) 2024-08-06 22:10:13 +02:00
netbsd.c unix,win: add uv_get_available_memory() (#3754) 2022-11-24 22:09:32 +01:00
no-fsevents.c
no-proctitle.c
openbsd.c openbsd: do not error out if cpuspeed is not available (#4727) 2025-03-03 09:13:29 +01:00
os390-proctitle.c
os390-syscalls.c unix,win: replace QUEUE with struct uv__queue (#4022) 2023-05-25 00:04:30 +02:00
os390-syscalls.h unix,win: replace QUEUE with struct uv__queue (#4022) 2023-05-25 00:04:30 +02:00
os390.c zos: correctly get cpu model in uv_cpu_info() (#4136) 2023-10-06 19:53:38 +02:00
pipe.c unix,pipe: fix handling null buffer in uv_pipe_get{sock,peer}name 2024-11-22 08:57:45 +01:00
poll.c unix: remove unnecessary errno.h include in poll.c 2025-02-17 07:51:25 +01:00
posix-hrtime.c unix: abort on clock_gettime() error (#3898) 2023-02-01 22:10:36 +01:00
posix-poll.c unix,win: replace QUEUE with struct uv__queue (#4022) 2023-05-25 00:04:30 +02:00
process.c macos: increase child process stdio buffer size (#4694) 2025-02-10 10:07:50 -05:00
procfs-exepath.c
proctitle.c
qnx.c unix,win: add uv_get_available_memory() (#3754) 2022-11-24 22:09:32 +01:00
random-devurandom.c build: add MemorySanitizer (MSAN) support (#3788) 2022-10-18 23:21:42 +02:00
random-getentropy.c
random-getrandom.c linux: merge files back into single file (#3778) 2022-10-02 14:09:42 +02:00
random-sysctl-linux.c
signal.c unix,win: remove unused rb-tree macro parameters (#4518) 2024-08-25 22:54:09 +02:00
stream.c build: ubsan fixes (#4254) 2024-08-05 17:15:53 -04:00
sunos.c unix: handle out of memory in iface name copy (#4724) 2025-02-27 23:30:29 +01:00
sysinfo-loadavg.c
sysinfo-memory.c
tcp.c tcpkeepalive: distinguish OS versions and use proper time units 2024-06-27 12:45:51 +02:00
thread.c unix: add thread affinity support on openharmony (#4705) 2025-02-21 22:01:16 +01:00
tty.c win: add ENABLE_VIRTUAL_TERMINAL_INPUT raw tty mode (#4688) 2025-02-21 23:34:53 +01:00
udp.c unix,sunos: prefer SO_REUSEPORT for load balancing (#4733) 2025-03-07 22:22:48 +01:00