1f36b01e | 09-Oct-2024 |
Santiago Gimeno |
unix: fix uv_tcp_keepalive in smartOS (#4570) Make sure `UV__SOLARIS_11_4` is not set for `smartOS`/`illumOS`. In our codebase is used only twice: - Detect correct implementation of
unix: fix uv_tcp_keepalive in smartOS (#4570) Make sure `UV__SOLARIS_11_4` is not set for `smartOS`/`illumOS`. In our codebase is used only twice: - Detect correct implementation of `SO_REUSEPORT`, which is not even implemented on `illumOS`. - Detect the time unit used for the TCP keepalive options. If set to `0`, which was the case for `illumOS`, it chose milliseconds, which is not correct for `illumOS` either as it uses seconds.
show more ...
|
8d957c56 | 19-Sep-2024 |
Ben Noordhuis |
unix: work around arm-linux-gnueabihf-gcc bug (#4565) Both gcc 11 and 12 emit wrong code for a function call pointer in one very specific context. Fixes: https://github.com/lib
unix: work around arm-linux-gnueabihf-gcc bug (#4565) Both gcc 11 and 12 emit wrong code for a function call pointer in one very specific context. Fixes: https://github.com/libuv/libuv/issues/4532
show more ...
|
0be52c82 | 07-Oct-2024 |
Santiago Gimeno |
unix: workaround gcc bug on armv7 (#4564) Disable optimization on `uv__preadv_or_pwritev`. Fixes: https://github.com/libuv/libuv/issues/4532 Fixes: https://github.com/libuv/libu
unix: workaround gcc bug on armv7 (#4564) Disable optimization on `uv__preadv_or_pwritev`. Fixes: https://github.com/libuv/libuv/issues/4532 Fixes: https://github.com/libuv/libuv/issues/4550
show more ...
|
1cbffcbd | 03-Oct-2024 |
Hüseyin Açacak |
win,fs: fix bug in fs__readdir |
670e75ee | 04-Oct-2024 |
Adam |
netbsd: fix build |
f55efb2f | 03-Oct-2024 |
Jameson Nash |
win,pipe: ipc code does not support async read (#4555) The implementation of IPC pipe in libuv on Windows does not properly support async reading. This means we cannot set the more param
win,pipe: ipc code does not support async read (#4555) The implementation of IPC pipe in libuv on Windows does not properly support async reading. This means we cannot set the more parameter without likely causing hangs. Sorry this is yet another followup to #4511. Fixes #4548
show more ...
|
88b874e6 | 03-Oct-2024 |
Santiago Gimeno |
win,fs: uv_fs_rmdir() to return ENOENT on file (#4563) After commit 18266a6969, it changed to return `ENOTDIR`, which makes it consistent with other platforms but it also can be consider
win,fs: uv_fs_rmdir() to return ENOENT on file (#4563) After commit 18266a6969, it changed to return `ENOTDIR`, which makes it consistent with other platforms but it also can be considered a breaking change.
show more ...
|
473dafc5 | 03-Oct-2024 |
Santiago Gimeno |
win: fix WriteFile() error translation (#4562) Translate `ERROR_BROKEN_PIPE` and `ERROR_NO_DATA` to `UV_EPIPE` instead of their default translation, which will be used for the rest of ca
win: fix WriteFile() error translation (#4562) Translate `ERROR_BROKEN_PIPE` and `ERROR_NO_DATA` to `UV_EPIPE` instead of their default translation, which will be used for the rest of cases. Refs: https://github.com/libuv/libuv/issues/4548#issuecomment-2383998849
show more ...
|
65e37353 | 02-Oct-2024 |
Rialbat |
win: fix pNtQueryDirectoryFile check Fixed incorrect verification of the pNtQueryDirectoryFile pointer. |
f806be87 | 30-Sep-2024 |
Ben Noordhuis |
linux: use IORING_OP_FTRUNCATE when available (#4554) Route ftruncate() system calls through io_uring instead of the thread pool when the kernel is new enough to support it (linux >= 6.9
linux: use IORING_OP_FTRUNCATE when available (#4554) Route ftruncate() system calls through io_uring instead of the thread pool when the kernel is new enough to support it (linux >= 6.9). This commit harmonizes how libuv checks if the kernel is new enough. Some ops were checking against `uv__kernel_version()` directly while others stored the result of the version check as a feature flag. Because the kernel version is cached, and because it is more direct than a feature flag, I opted for the former approach.
show more ...
|
bcc6d1c1 | 30-Sep-2024 |
Ben Noordhuis |
linux: use IORING_SETUP_NO_SQARRAY when available (#4553) Introduced in Linux 6.6, it tells the kernel to omit the sqarray from the ring buffer. Libuv initalizes the array once
linux: use IORING_SETUP_NO_SQARRAY when available (#4553) Introduced in Linux 6.6, it tells the kernel to omit the sqarray from the ring buffer. Libuv initalizes the array once to an identity mapping and then forgets about it, so not only does it save a little memory (ca. 1 KiB per ring) but it also makes things more efficient kernel-side because it removes a level of indirection.
show more ...
|
675a5a53 | 26-Sep-2024 |
Ben Noordhuis |
build: add darwin-syscalls.h to release tarball (#4546) Overlooked in commit 1c778bd0 ("darwin: add udp mmsg support") from earlier this month. Fixes: https://github.com/libuv/l
build: add darwin-syscalls.h to release tarball (#4546) Overlooked in commit 1c778bd0 ("darwin: add udp mmsg support") from earlier this month. Fixes: https://github.com/libuv/libuv/issues/4544
show more ...
|
5467ec96 | 25-Sep-2024 |
Santiago Gimeno |
Now working on version 1.49.1 |
511e202e | 25-Sep-2024 |
Santiago Gimeno |
Add SHA to ChangeLog |
d2e56a5e | 25-Sep-2024 |
Santiago Gimeno |
2024.09.25, Version 1.49.0 (Stable) Changes since version 1.48.0: * test: fix -Wpointer-to-int-cast on 32 bits systems (Ben Noordhuis) * build: add alias for libuv to CMake
2024.09.25, Version 1.49.0 (Stable) Changes since version 1.48.0: * test: fix -Wpointer-to-int-cast on 32 bits systems (Ben Noordhuis) * build: add alias for libuv to CMakeLists.txt (Anthony Alayo) * linux: create io_uring sqpoll ring lazily (Ben Noordhuis) * misc: run sample CI when code changes (Jameson Nash) * linux: fix uv_available_parallelism using cgroup (Thomas Walter) * doc: fix tty example segfault (hiiizxf) * udp,unix: fix sendmsg use-after-free (Geddy) * cygwin: implement uv_resident_set_memory (Farzin Monsef) * win: almost fix race detecting ESRCH in uv_kill (Santiago Gimeno) * test: disable env var test under win32+asan (Ben Noordhuis) * unix,fs: fix realpath calls that use the system allocator (Saúl Ibarra Corretgé) * sunos: sync tcp keep-alive with other unices (Andy Pan) * linux: fix /proc/self/stat executable name parsing (Farzin Monsef) * test,ci: fix [AM]San, disable ASLR (Ben Noordhuis) * win: remove _alloca usage (Ben Noordhuis) * unix: reinstate preadv/pwritev fallback code (Ben Noordhuis) * linux: don't delay EPOLL_CTL_DEL operations (Ben Noordhuis) * doc: fix typos in ChangeLog (tgolang) * unix,win: error on zero delay tcp keepalive (Saúl Ibarra Corretgé) * win: simplify uv_once implementation (Saúl Ibarra Corretgé) * doc: correct udp socket options documentation (Ben Noordhuis) * linux: don't use sendmmsg() for single datagrams (Ben Noordhuis) * unix: fix fd leaks in SCM_RIGHTS error path (Ben Noordhuis) * win: robustify uv_os_getenv() error checking (Ben Noordhuis) * test: use newer ASSERT_MEM_EQ macro (Ben Noordhuis) * unix: de-duplicate conditions for using kqueue (Brad King) * darwin: simplify uv_hrtime (Saúl Ibarra Corretgé) * mailmap: update saghul's main email address (Saúl Ibarra Corretgé) * win: remove no longer needed define (Saúl Ibarra Corretgé) * doc: fix some typos (josedelinux) * linux,darwin: make `uv_fs_copyfile` behaves like `cp -r` (Juan José Arboleda) * dragonfly: disable SO_REUSEPORT for UDP socket bindings (Andy Pan) * test: remove the obsolete HAVE_KQUEUE macro (Andy Pan) * unix: use the presence of SOCK_* instead of OS macros for socketpair (Andy Pan) * bsd: support pipe2() on *BSD (Andy Pan) * unix: support SO_REUSEPORT with load balancing for TCP (Andy Pan) * doc: add entries for extended getpw (Juan José Arboleda) * test: fix the flaky test-tcp-reuseport (Andy Pan) * aix,ibmi: fix compilation errors in fs_copyfile (Jeffrey H. Johnson) * unix: support SO_REUSEPORT with load balancing for UDP (Andy Pan) * tcpkeepalive: distinguish OS versions and use proper time units (Andy Pan) * win: map ERROR_BAD_EXE_FORMAT to UV_EFTYPE (Hüseyin Açacak) * doc: add instruction how to install with Conan (Uilian Ries) * unix,win: remove unused req parameter from macros (Viacheslav Muravyev) * build: fix android ci build (Ben Noordhuis) * unix,win: export wtf8 functions properly (Ben Noordhuis) * hurd: add includes and macro prerequisites (Olivier Valentin) * hurd: stub uv_thread_setpriority() (Olivier Valentin) * ci: use macOS 12 for macOS and iOS builds (Saúl Ibarra Corretgé) * darwin: fix crash on iOS(arm64) (郑苏波 (Super Zheng)) * Create dependabot.yml for updating github-actions (Jameson Nash) * doc: correct names of Win32 APIs in fs.rst (zeertzjq) * ci: bump upload and download-artifact versions (dependabot[bot]) * ci: bump actions/setup-python from 4 to 5 (dependabot[bot]) * ci: bump KyleMayes/install-llvm-action from 1 to 2 (dependabot[bot]) * win,error: remap ERROR_NO_DATA to EAGAIN (Jameson Nash) * test: handle zero-length udp datagram (Ben Noordhuis) * misc: remove splay trees macros (Viacheslav Muravyev) * test,openbsd: remove superfluous ifdef guard (Ben Noordhuis) * win,fs: use posix delete semantics, if supported (Ian Butterworth) * win: fix env var in uv_os_homedir and uv_os_tmpdir (Hüseyin Açacak) * fsevents: detect watched directory removal (Santiago Gimeno) * ci: bump actions/checkout to 4 (dependabot[bot]) * linux: eliminate a read on eventfd per wakeup (Andy Pan) * test: pipe_overlong_path handle ENAMETOOLONG (Abdirahim Musse) * win,fs: use the new Windows fast stat API (Hüseyin Açacak) * win,pipe: fix race with concurrent readers (Jameson Nash) * win,signal: fix data race dispatching SIGWINCH (Jameson Nash) * build: ubsan fixes (Matheus Izvekov) * linux: disable SQPOLL io_uring by default (Santiago Gimeno) * win: fix fs.c ubsan failure (Matheus Izvekov) * test: rmdir can return `EEXIST` or `ENOTEMPTY` (Richard Lau) * test: check for `UV_CHANGE` or `UV_RENAME` event (Richard Lau) * unix,fs: silence -Wunused-result warning (Santiago Gimeno) * linux: support abstract unix socket autobinding (Ben Noordhuis) * kqueue: use EVFILT_USER for async if available (Andy Pan) * win: remove deprecated GetVersionExW call (Shelley Vohr) * doc: document uv_loop_option (握猫猫) * doc: fix the `uv_*_set_data` series of functions (握猫猫) * doc: properly label enumerations and types (握猫猫) * doc: document specific macOS fs_event behavior (Santiago Gimeno) * win,pipe: restore fallback handling for blocking pipes (Jameson Nash) * unix,win: remove unused rb-tree macro parameters (Viacheslav Muravyev) * win: compute parallelism from process cpu affinity (Ben Noordhuis) * win: use NtQueryInformationProcess in uv_os_getppid (Zuohui Yang) * win,pipe: fix missing assignment to success (Jameson Nash) * win: fix uv_available_parallelism on win32 (Ben Noordhuis) * win,pipe: fix another missing assignment to success (Jameson Nash) * kqueue: disallow ill-suited file descriptor kinds (Andy Pan) * unix: restore tty attributes on handle close (Ben Noordhuis) * test: delete test with invalid assumption (Ben Noordhuis) * dragonflybsd: fix compilation failure (Jeffrey H. Johnson) * test: run android tests on ci (Edigleysson Silva (Edy)) * darwin: add udp mmsg support (Raihaan Shouhell) * unix: work around arm-linux-gnueabihf-gcc bug (Ben Noordhuis) * unix: expand uv_available_parallelism() to support more platforms (Ondřej Surý) * doc: add known issue in armv7 (Santiago Gimeno)
show more ...
|
cc2e0aa3 | 24-Sep-2024 |
Santiago Gimeno |
doc: add known issue in armv7 (#4541) Refs: https://github.com/libuv/libuv/issues/4532 |
e1a54652 | 19-Sep-2024 |
Ondřej Surý |
unix: expand uv_available_parallelism() to support more platforms |
32603fd5 | 19-Sep-2024 |
Ben Noordhuis |
unix: work around arm-linux-gnueabihf-gcc bug (#4537) Both gcc 11 and 12 emit wrong code for a function call pointer in one very specific context. Fixes: https://github.com/libu
unix: work around arm-linux-gnueabihf-gcc bug (#4537) Both gcc 11 and 12 emit wrong code for a function call pointer in one very specific context. Fixes: https://github.com/libuv/libuv/issues/4532
show more ...
|
1c778bd0 | 17-Sep-2024 |
Raihaan Shouhell |
darwin: add udp mmsg support (#4527) |
5bb19f35 | 17-Sep-2024 |
Edigleysson Silva (Edy) |
test: run android tests on ci (#4517) |
88af4a87 | 17-Sep-2024 |
Jeffrey H. Johnson |
dragonflybsd: fix compilation failure (#4534) Fixes: https://github.com/libuv/libuv/issues/4533 Signed-off-by: Jeffrey H. Johnson <trnsz@pobox.com> |
9dddebab | 12-Sep-2024 |
Ben Noordhuis |
test: delete test with invalid assumption (#4530) Delete the fs_event_error_reporting test. It fails in different ways, most frequently on the TSan sanitizer buildbot, due to running out
test: delete test with invalid assumption (#4530) Delete the fs_event_error_reporting test. It fails in different ways, most frequently on the TSan sanitizer buildbot, due to running out of file descriptors when that is not expected, or vice versa, *not* running out of file descriptors when that *is* expected. The test creates a large number of event loops and expects to, eventually, hit EMFILE but it sometimes hits it too early, and sometimes not at all. I don't think TSan is really responsible here, it just makes the invalid assumption in the test itself more visible. Fixes: https://github.com/libuv/libuv/issues/4368
show more ...
|
a49f264d | 11-Sep-2024 |
Ben Noordhuis |
unix: restore tty attributes on handle close (#4399) Libuv stores the `struct termios` for use inside uv_tty_reset_mode(). Node.js uses said function to restore the tty to its origi
unix: restore tty attributes on handle close (#4399) Libuv stores the `struct termios` for use inside uv_tty_reset_mode(). Node.js uses said function to restore the tty to its original mode on SIGINT or SIGTERM, when there is no opportunity to shut down the process normally. Track uv_tty_t handle closing, otherwise we might be trying to use a stale termios. The current solution is not ideal because there can be multiple handles that refer to the same tty/pty and, for various reasons, we can't really determine when we close the last handle. The last handle may not even be inside the current process. Still, all things considered, it's probably (hopefully!) an improvement over the status quo. Refs: https://github.com/libuv/libuv/issues/4398
show more ...
|
44e61dab | 09-Sep-2024 |
Andy Pan |
kqueue: disallow ill-suited file descriptor kinds (#4513) Follows up on https://github.com/libuv/libuv/pull/659. Signed-off-by: Andy Pan <i@andypan.me> |
0a00e80c | 05-Sep-2024 |
Jameson Nash |
win,pipe: fix another missing assignment to success (#4523) Yet another followup to #4511. The functional/legacy/increment_spec.lua test failed most of the time without this, and passes
win,pipe: fix another missing assignment to success (#4523) Yet another followup to #4511. The functional/legacy/increment_spec.lua test failed most of the time without this, and passes consistently with it. It seemed unexpected this code path gets reached (perhaps imply that the user wrote zero bytes?), but good to fix of course.
show more ...
|