forked from libuv/libuv
-
Notifications
You must be signed in to change notification settings - Fork 0
[pull] v1.x from libuv:v1.x #190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
pull
wants to merge
838
commits into
bazelregistry:v1.x
Choose a base branch
from
libuv:v1.x
base: v1.x
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
In #4470, I accidentally copied the bug from unix, where calling uv_stream_set_blocking can cause the whole process to hang on a read. However, unlike unix, where libuv attempts to set the O_NONBLOCK flag in uv_pipe_open (as long as the handle never gets passed to uv_spawn), the NT kernel is not capable of enabling OVERLAPPED operation later (but fortunately, it also cannot disable it later too). This implementation might be good to copy to unix (using FIONREAD) to address the same bug that happens there if the user has called uv_spawn or uv_stream_set_non_blocking on this handle in the past.
Use GetProcessAffinityMask() to estimate the available parallelism. Before this commit, it simply used the number of available CPUs. Fixes: #4520
Get parent process ID using NtQueryInformationProcess, it's faster than using CreateToolhelp32Snapshot.
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.
Follows up on #659. Signed-off-by: Andy Pan <i@andypan.me>
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: #4398
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: #4368
Fixes: #4533 Signed-off-by: Jeffrey H. Johnson <trnsz@pobox.com>
Both gcc 11 and 12 emit wrong code for a function call pointer in one very specific context. Fixes: #4532
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)
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.
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.
Fixed incorrect verification of the pNtQueryDirectoryFile pointer.
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: #4548 (comment)
After commit 18266a6, it changed to return `ENOTDIR`, which makes it consistent with other platforms but it also can be considered a breaking change.
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v6...v7) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v5...v6) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Fix `threadpool_cancel_fs_iouring` so it takes `UV_FS_FTRUNCATE` into account.
If uv_spawn() fails after uv__handle_init() has been called, the handle remains in loop->handle_queue. This causes use-after-free if the handle is stack-allocated or freed, and a subsequent loop operation like uv_walk() accesses it. This follows the same pattern as uv_tcp_init_ex() which explicitly removes the handle from the queue on error.
As of January 1, 2026, HP-UX is well and truly dead. Remove it.
Zero the struct. The compiler is not aware it's not actually used.
Check the length before doing the compare like we do a few lines below,
not the other way around. It's a false positive because the length is
capped well below the maximum object size but it's an easy fix.
Fixes the following warning:
test/test-poll-oob.c:94:19: warning: ‘strncmp’ specified bound
[18446744071562067968, 18446744073709551615] exceeds maximum
object size 9223372036854775807 [-Wstringop-overread]
AddressSanitizer was right to complain about the test because it was passing an uninitialized `struct winsize` to openpty().
This adds support for "Linux"-style Windows symbolic links, reparse tag 0xA000001D (IO_REPARSE_TAG_LX_SYMLINK).
It was reported that PTYs on Linux sometimes report POLLHUP, return a partial read, but still return more data on the next read. Libuv contains an optimization where it assumes a partial read after POLLHUP means the next read can be skipped because it's going to fail with EOF anyway. That assumption was thought to be always true but, alas, it isn't. The fact the optimization has been present for 13 years and this is the first bug report about it, indicates how rare this particular condition is, but of course we can't skim on correctness. The reworked optimization only uses POLLHUP as an input signal when POLLIN is not also set. That means we no longer have to track partial reads because we're going to try and read anyway as long as POLLIN is set. It seems to cause no measurable regressions on the test suite or the (lightly tested) benchmarks. Fixes: #4992
The test is multi-threaded and expects both threads to receive at least some of the incoming datagrams but there isn't always true parallelism under QEMU's user-mode emulator. Single-core systems are also susceptible to that so also add a check that we have at least two cores to run on. It's not perfect because a sufficiently dedicated test torturer could probably concoct a containerized setup where the core count > 1 but the available CPU slice is so small that the test effectively still runs sequentially, but it's better than nothing. Fixes: #4777
The test is multi-threaded and expects both threads to receive at least some of the incoming connections but there isn't always true parallelism under QEMU's user-mode emulator. Single-core systems are also susceptible to that so also add a check that we have at least two cores to run on. As mentioned in the change for the udp_reuseport test from a few days ago, the test is not perfect (there being > 1 core doesn't guarantee we actually get to run on them) but it's better than nothing. Fixes: #5003
Catch sign conversion bugs by introducing a bounds check that doubles as a sanity check. Fixes: #5012
Accomplish this by replacing `GetDiskFreeSpaceW()` with `NtQueryVolumeInformationFile()` which allows us to represent blocks larger than 2^32 - 1 via `FILE_FS_FULL_SIZE_INFORMATION.TotalAllocationUnits`. Expanded `fs_statfs` test to check that `uv_fs_statfs()` also works with files, meaning #2683 remains fixed without the need of #2695.
Sun Studio / Oracle Developer Studio hasn't had a release in almost nine years. If Oracle doesn't feel like supporting it, then neither do I.
0x10FFFF is the valid max unicode character, so the check should be inclusive. This assert gets triggered because uv__wtf8_decode1 (used by uv_wtf8_length_as_utf16) has the correct code_point <= 0x10FFFF check, so the sequence is treated as valid and it will be passed into uv_wtf8_to_utf16, where the incorrect assert gets triggered: src/idna.c:397: uv_wtf8_to_utf16: Assertion `code_point < 0x10FFFF' failed.
Signed-off-by: Han Gao <gaohan@iscas.ac.cn>
some users of libuv rely on uv_exepath to be an actual path to a program. unfortunately, the OpenBSD KERN_PROC_ARGV sysctl just returns what is in argv[0], so if the program was executed by being looked up in $PATH, uv_exepath would only return the basename and not an actual path. to fix, this use the same approach as IBM i, OS/390 and AIX by searching with uv__search_path. this is also the same approach the Zig language has taken for the similar selfExePath function for OpenBSD. the tests expect that uv_exepath still works after uv_set_process_title, which on BSD is a call to setproctitle. the place setproctitle stores to is the same place that KERN_PROC_ARGV reads from, so we need to stash the original argv[0] in uv_setup_args to recover it later in uv_exepath.
~~~
/Users/saghul/src/libuv/src/unix/udp.c:1460:26: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
1460 | struct sockaddr* addrs[N];
| ^
/Users/saghul/src/libuv/src/unix/udp.c:1461:22: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
1461 | unsigned int nbufs[N];
| ^
/Users/saghul/src/libuv/src/unix/udp.c:1462:18: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
1462 | uv_buf_t* bufs[N];
| ^
3 warnings generated.
/Users/saghul/src/libuv/src/unix/udp.c:1460:26: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
1460 | struct sockaddr* addrs[N];
| ^
/Users/saghul/src/libuv/src/unix/udp.c:1461:22: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
1461 | unsigned int nbufs[N];
| ^
/Users/saghul/src/libuv/src/unix/udp.c:1462:18: warning: variable length array folded to constant array as an extension [-Wgnu-folding-constant]
1462 | uv_buf_t* bufs[N];
| ^
~~~
Changes since version 1.51.0:
* src: remove unused include of <assert.h> in timer.c (Juan José
Arboleda)
* test: skip `udp_multicast_join` if not system-wide available (Juan
José Arboleda)
* test: remove unused include of <limits.h> in runner.h (Juan José
Arboleda)
* doc: don't mention UV_LOOP_ENABLE_IO_URING_SQPOLL (Poul T Lomholt)
* unix: fix uv_thread_{get,set}priority error codes (Ryan Liptak)
* build: dedup sanitizer jobs using matrix strategy (Juan José Arboleda)
* doc: update ncurses link (Saúl Ibarra Corretgé)
* tcp: support customizing TCP_KEEPINTVL and TCP_KEEPCNT (Andy Pan)
* linux: fix -Wformat-truncation warning (Ben Noordhuis)
* src: fix nullptr dereference in uv__print_handles (jhnh204)
* build: make automake link libm on bsd-likes (Juan José Arboleda)
* include: remove unused macro undefs from uv.h (Juan José Arboleda)
* win: handle empty string in uv_get_process_title (Ben Noordhuis)
* win: use WSA_FLAG_NO_HANDLE_INHERIT in WSASocketW (chemodax)
* unix: handle possible `ENOMEM` in `uv__tcp_listen` (Juan José
Arboleda)
* win: replace GetModuleHandleA with GetModuleHandleW (chemodax)
* qnx: add qnx 8 support (Deep C)
* mailmap: update email address for Richard Lau (Richard Lau)
* win: remove obsolete comment (Ben Noordhuis)
* unix: handle possible `ENOMEM` in `uv__pipe_listen` (Juan José
Arboleda)
* unix: deduplicate uv_free_interface_addresses (Juan José Arboleda)
* test: pass correct string type to GetModuleHandleW (Ben Noordhuis)
* win: remove unnecessary inlining from fs.c (Ben Noordhuis)
* win: move uv__process_reqs to core.c (Ben Noordhuis)
* win: remove unnecessary inlining from header file (Ben Noordhuis)
* test: skip slow process title test on asan+macos (Ben Noordhuis)
* win: dissolve atomicops-inl.h (Ben Noordhuis)
* win: move uv__process_endgames to core.c (Ben Noordhuis)
* win: move uv__insert_pending_req to core.c (Ben Noordhuis)
* win: replace inline asm with compiler intrinsic (Ben Noordhuis)
* win,pipe: minimal fix to uv_read_cb->uv_read_start recursion bug
(Jameson Nash)
* doc: make requirements work with newer python (Luca Saccarola)
* win: fix -Wcast-function-type warnings in winapi.c (Ben Noordhuis)
* win: fix -Wsign-compare warnings (Ben Noordhuis)
* test: simplify ASSERT_OK macro for static analysis (Jameson Nash)
* win: add arm64 machine type to uv_os_uname (wisemanny)
* win: use ProcessPrng (Ben Noordhuis)
* win: work around wine bug in uv_fs_{unlink,rmdir} (Keno Fischer)
* doc: fix return value for uv_pipe_connect2 (Sean Dewar)
* unix: fix udp sendmmsg fallback path (Ben Noordhuis)
* doc: add binding `C framework` uv_coroutine to LINKS.md (Lawrence
Stubbs)
* linux: handle cgroups cpu.max with limit < period (Ben Noordhuis)
* doc: update link, repo name change to c-asio (Lawrence Stubbs)
* build(deps): bump actions/download-artifact from 4 to 5
(dependabot[bot])
* doc: remove nodeuv from LINKS.md (Ben Noordhuis)
* test: use relative paths for pipes and unix sockets (Emily)
* build(deps): bump actions/checkout from 4 to 5 (dependabot[bot])
* unix: improve uv__cpu_relax() on arm (Anton Kirilov)
* win: fix compiler warnings (Savas Sahin)
* unix: replace uv__io_t callback pointer with enum (Ben Noordhuis)
* test,win: fix -Wunused-function warnings (Ben Noordhuis)
* test,win: fix -Wcast-function-type warnings (Ben Noordhuis)
* test,win: fix -Wattributes warnings (Ben Noordhuis)
* win: shrink fd hash table from 2592k to 162k (Ben Noordhuis)
* unix: fix build on the bsds (Ben Noordhuis)
* netbsd: fix thread affinity compilation error (Santiago Gimeno)
* unix: remove UV__SIGNAL_EVENT dispatch from uv__io_cb (Juan José
Arboleda)
* build: add -Werror when testing -Wflags (Jameson Nash)
* win: fix path size calculation (Ben Noordhuis)
* doc: correct uv_cancel return value (m0cg)
* unix,win: look up UV_THREADPOOL_SIZE with uv_os_getenv (moe li)
* build(deps): bump actions/setup-python from 5 to 6 (dependabot[bot])
* unix: fix uv__signal_loop_cleanup call in init (Jameson Nash)
* aix: fix nullptr check in uv__skip_lines (Ben Noordhuis)
* unix: add neoverse-v2 cpu identifier (green-br)
* test: make `thread_priority` robust against system default nice levels
(Juan José Arboleda)
* unix,win: implement `uv_udp_open_ex` (Juan José Arboleda)
* aix: add stub function to satisfy linker (Ben Noordhuis)
* linux: add MSG_ERRQUEUE ipv4/ipv6 udp support (Juan José Arboleda)
* ibmi: add stub function to satisfy linker (Ben Noordhuis)
* darwin: better heuristic for available memory (Christian Guinard)
* build(deps): bump actions/download-artifact from 5 to 6
(dependabot[bot])
* build(deps): bump actions/upload-artifact from 4 to 5
(dependabot[bot])
* unix: fix use of uninitialized variable (Ben Noordhuis)
* doc: fix documentation for uv_utf16_to_wtf8() function (Gang Zhuo)
* win: rename minimal_windows10_version1709() for libuv's convention
(Andy Pan)
* build(deps): bump actions/checkout from 5 to 6 (dependabot[bot])
* win: fix race in uv_fs_event_start() (Ben Noordhuis)
* unix: support nanosecond resolution in uv__fs_to_timespec (Ayush
Kumar)
* win: handle sshfs-win quirk in uv_fs_readdir() (Ben Noordhuis)
* unix,win: fix leak in uv_os_environ error path (Ambuj Vashistha)
* test: add macros to run fs tests with io_uring (Santiago Gimeno)
* linux: fix uv_fs_ftruncate io_uring implementation (Santiago Gimeno)
* Update OS X reference to macOS in README (Bart Louwers)
* ci: update macos runner images (Ben Noordhuis)
* doc: add example usage for uv_sleep (Kartik Puri)
* ci: add macos-15-intel to matrix (Ben Noordhuis)
* win: Optimize file/directory delete. (chemodax)
* build(deps): bump actions/download-artifact from 6 to 7
(dependabot[bot])
* build(deps): bump actions/upload-artifact from 5 to 6
(dependabot[bot])
* test: run more fs tests using io_uring too (Santiago Gimeno)
* doc: add handle and request usage guidelines (Ben Noordhuis)
* unix: remove handle from queue on uv_spawn() error (Oblivionsage)
* doc: remove hp-ux from supported platforms list (Ben Noordhuis)
* unix,win: add f_frsize field to uv_statfs_t (Ben Noordhuis)
* test: fix -Wuninitialized-const-pointer warning (Ben Noordhuis)
* test: fix -Wstringop-overread warning (Ben Noordhuis)
* test: make pty test work under asan (Ben Noordhuis)
* win: readlink support for IO_REPARSE_TAG_LX_SYMLINK (Cody Tapscott)
* unix: fix partial read handling after POLLHUP (Ben Noordhuis)
* unix: factor out common i/o poll code (Ben Noordhuis)
* test: disable udp_reuseport test under qemu (Ben Noordhuis)
* test: disable tcp_reuseport test under qemu (Ben Noordhuis)
* unix,win: check nbufs argument is reasonable (Ben Noordhuis)
* win: refactor to support large statfs blocks (Santiago Gimeno)
* unix: remove sunpro references (Ben Noordhuis)
* idna: fix assert in wtf8_to_utf16 conversion (tobil4sk)
* aix,ibmi: fix test suite build breakage (Ben Noordhuis)
* unix: implement cpu_relax() for riscv64 (Han Gao)
* doc: add setuid warning to uv_exepath (Ben Noordhuis)
* unix: make OpenBSD uv_exepath work (mischief)
* win: fix uv_get_process_title (StefanStojanovic)
* unix,udp: fix -Wgnu-folding-constant warning (Saúl Ibarra Corretgé)
* cmake: add libuvConfigVersion.cmake file (Przemysław Sobala)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]
Can you help keep this open source service alive? 💖 Please sponsor : )