libuv/src/unix
Jameson Nash fa0ac9ec0c
io: make libuv 64-bit safe (#5076)
Because libuv truncates the result of every call to INT32_MAX, it needs
to internally limit operations to INT32_MAX to be safe to use libuv.
This isn't an API change, since these operations weren't guaranteed to
work, and in fact usually failed in bizare ways already. This is very
long in coming, since we've had a lot of compiler warnings about this
and several PRs to fix this open for a decade, but the main consumers
that usually fix things didn't care (nodejs is 32-bit and julia patched
this downstream more than a decade ago, though it did run into this
again recently by mistake with sendfile).

Replaces #1501
Fixes #3360
2026-03-24 10:32:27 -04:00
..
aix-common.c aix: protect uv_exepath() from uv_set_process_title() 2020-08-10 11:27:30 -04:00
aix.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
async.c unix: improve handling of uv_async_send mistakes (#5058) 2026-03-15 10:00:48 -04:00
bsd-ifaddrs.c unix: deduplicate uv_free_interface_addresses (#4818) 2025-07-05 13:05:46 +02:00
bsd-proctitle.c unix: make OpenBSD uv_exepath work 2026-02-05 11:45:49 +01:00
core.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
cygwin.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05: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 unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
dl.c freebsd: call dlerror() only if necessary (#3388) 2022-01-03 11:25:45 +01:00
freebsd.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
fs.c io: make libuv 64-bit safe (#5076) 2026-03-24 10:32:27 -04:00
fsevents.c fsevents: detect watched directory removal (#4376) 2024-07-30 00:59:38 +02:00
getaddrinfo.c unix,win: support NULL loop for sync uv_getaddrinfo 2026-02-19 13:18:14 +01:00
getnameinfo.c unix,win: remove unused req parameter from macros (#4435) 2024-07-11 21:29:15 +02:00
haiku.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
hurd.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
ibmi.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
internal.h unix: do not cast to char variables that are const char 2026-03-06 18:06:19 +01:00
kqueue.c darwin: replace EV_OOBAND handling with EVFILT_EXCEPT + NOTE_OOB (#4906) 2026-03-16 22:23:06 -04:00
linux.c android: fix termux build (#5093) 2026-03-24 09:59:50 +01:00
loop-watcher.c unix,win: replace QUEUE with struct uv__queue (#4022) 2023-05-25 00:04:30 +02:00
loop.c unix: fix uv__signal_loop_cleanup call in init (#4876) 2025-09-25 11:02:44 -04:00
netbsd.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
no-fsevents.c include,src: introduce UV__ERR() macro 2018-02-08 22:38:02 -05:00
no-proctitle.c unix,win: add uv_library_shutdown() 2020-04-22 12:24:36 +02:00
openbsd.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
os390-proctitle.c zos: use custom proctitle implementation 2021-02-15 17:18:59 +00:00
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 unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
pipe.c unix: support long path names in pipe.c (#5047) 2026-03-16 23:14:47 -04:00
poll.c linux: close streams without an extra read (#3250) 2026-03-21 15:10:05 -04:00
posix-hrtime.c unix: abort on clock_gettime() error (#3898) 2023-02-01 22:10:36 +01:00
posix-poll.c unix: factor out common i/o poll code (#5000) 2026-01-18 22:32:36 +01:00
process.c unix: check return value of fcntl call (#5089) 2026-03-21 13:18:13 +01:00
procfs-exepath.c include,src: introduce UV__ERR() macro 2018-02-08 22:38:02 -05:00
proctitle.c zos: use custom proctitle implementation 2021-02-15 17:18:59 +00:00
qnx.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
random-devurandom.c build: add MemorySanitizer (MSAN) support (#3788) 2022-10-18 23:21:42 +02:00
random-getentropy.c unix,win: add uv_random() 2019-09-18 08:09:14 +02:00
random-getrandom.c linux: merge files back into single file (#3778) 2022-10-02 14:09:42 +02:00
random-sysctl-linux.c netbsd: use KERN_ARND sysctl to get entropy 2019-10-29 13:36:05 +01:00
signal.c unix: replace uv__io_t callback pointer with enum (#4854) 2025-08-23 20:41:01 +02:00
stream.c io: make libuv 64-bit safe (#5076) 2026-03-24 10:32:27 -04:00
sunos.c unix: check RLIMIT_AS and RLIMIT_DATA in uv_get_constrained_memory (#4899) 2026-02-13 20:54:29 -05:00
sysinfo-loadavg.c unix: factor out reusable sysinfo loadavg impl 2017-05-21 16:12:16 +02:00
sysinfo-memory.c unix: factor out reusable sysinfo memory lookup 2017-05-21 16:12:14 +02:00
tcp.c unix: replace uv__io_t callback pointer with enum (#4854) 2025-08-23 20:41:01 +02:00
thread.c unix: remove sunpro references (#5017) 2026-02-02 23:15:38 +01:00
tty.c unix,tty: don't drain when setting the TTY mode (#4945) 2026-03-16 21:48:50 -04:00
udp.c io: make libuv 64-bit safe (#5076) 2026-03-24 10:32:27 -04:00