81264cfc | 26-Sep-2022 |
number201724 |
win: fix uv__pipe_accept memory leak (#3767) |
c798dd7a | 26-Sep-2022 |
Ben Noordhuis |
build: restore qemu download logic (#3768) I recently changed it to download a fixed .deb but seems it's updated more frequently than I anticipated because the dfsg-7ubuntu1_package is
build: restore qemu download logic (#3768) I recently changed it to download a fixed .deb but seems it's updated more frequently than I anticipated because the dfsg-7ubuntu1_package is already gone, replaced with dfsg-7ubuntu2. Bring back the downloader logic that fetches the filename from the directory listing.
show more ...
|
b00d1bd2 | 22-Sep-2022 |
Ben Noordhuis |
unix,win: fix memory leak in uv_fs_scandir() (#3760) uv_fs_scandir() leaked an entry when you called it on a directory with a single entry _and_ you didn't run the iterator until UV_EOF.
unix,win: fix memory leak in uv_fs_scandir() (#3760) uv_fs_scandir() leaked an entry when you called it on a directory with a single entry _and_ you didn't run the iterator until UV_EOF. Fixes: https://github.com/libuv/libuv/issues/3748
show more ...
|
47effc4b | 22-Sep-2022 |
Ben Noordhuis |
unix: remove pre-macos 10.8 compatibility hack (#3759) |
d651403b | 18-Sep-2022 |
Ben Noordhuis |
linux: move epoll.c back into linux-core.c epoll.c is only used on Android and Linux after commit 5fe59726 ("sunos: restore use of event ports") so move it back into linux-core.c
linux: move epoll.c back into linux-core.c epoll.c is only used on Android and Linux after commit 5fe59726 ("sunos: restore use of event ports") so move it back into linux-core.c This commit removes a workaround for pre-2.6.27 kernels that don't have the epoll_create1() system call.
show more ...
|
48c90d37 | 18-Sep-2022 |
Ben Noordhuis |
build: upgrade qemu-user-static package 4.2 is three years old by now. The linux/alpha emulator in that version doesn't support the epoll_create1() system call. |
d59b2905 | 15-Sep-2022 |
Ben Noordhuis |
linux: teach uv_get_constrained_memory() cgroupsv2 (#3744) Fixes: https://github.com/libuv/libuv/issues/2315 |
0f478a7d | 12-Sep-2022 |
Ben Noordhuis |
kqueue: DRY file descriptor deletion logic (#3746) Remove the TODO that says to batch up kevent(EV_DELETE) system calls. It's unduly complicated in case of errors. If you pass a
kqueue: DRY file descriptor deletion logic (#3746) Remove the TODO that says to batch up kevent(EV_DELETE) system calls. It's unduly complicated in case of errors. If you pass an out array to kevent(), it will store error records that tell you which file descriptor caused the error but it also stores new events in the array, complicating state management. If you don't pass an out array, it simply doesn't tell you anything except that _something_ failed. Optimistically trying batch deletion and falling back to one-by-one deletion is probably possible but is something of a deoptimization and also feels somewhat dangerous. macOS has a mostly-undocumented kevent_qos() system call that accepts a KEVENT_FLAG_ERROR_EVENTS flag that fixes the first problem but that of course isn't portable. Long story short, it seems like too much hassle for too little payoff. Libuv has been doing one-by-one deletion for over a decade now and no one complained about performance so far so let's just stick with that.
show more ...
|
9d898acc | 07-Sep-2022 |
Ben Noordhuis |
test: fix musl libc.a dlerror() test expectation (#3735) Dynamic loading with musl only works with libc.so because it is is implemented in musl's dynamic linker, not in libc proper.
test: fix musl libc.a dlerror() test expectation (#3735) Dynamic loading with musl only works with libc.so because it is is implemented in musl's dynamic linker, not in libc proper. libc.a contains just a stub dlopen() that always fails with a "Dynamic loading not supported" error message. Update the test to handle that. Fix: https://github.com/libuv/libuv/issues/3706
show more ...
|
a855c741 | 07-Sep-2022 |
Steven Schveighoffer |
doc: add note about offset -1 in uv_fs_read/write (#3677) |
fb76f210 | 21-Aug-2022 |
Ben Noordhuis |
unix: fix uv_getrusage() ru_maxrss reporting (#3721) Most platforms report it in kilobytes but macOS and Solaris report it in bytes and pages respectively. Fixes: https://github
unix: fix uv_getrusage() ru_maxrss reporting (#3721) Most platforms report it in kilobytes but macOS and Solaris report it in bytes and pages respectively. Fixes: https://github.com/nodejs/node/issues/44332
show more ...
|
97dcdb19 | 13-Aug-2022 |
Luan Devecchi |
win: support Windows 11 in uv_os_uname() (#3718) Fixes: https://github.com/libuv/libuv/issues/3381 Fixes: https://github.com/nodejs/node/issues/40862 |
7bccb562 | 03-Aug-2022 |
Santiago Gimeno |
unix,win: remove UV_HANDLE_SHUTTING flag (#3705) Replace it with a `uv__is_stream_shutting()` macro that checks the `shutdown_req` field. It partially fixes: https://github.com/
unix,win: remove UV_HANDLE_SHUTTING flag (#3705) Replace it with a `uv__is_stream_shutting()` macro that checks the `shutdown_req` field. It partially fixes: https://github.com/libuv/libuv/issues/3663.
show more ...
|
4db0a9a6 | 27-Jul-2022 |
Ben Noordhuis |
win: fix thread race in uv_cwd() and uv_chdir() (#3708) Another thread can change the working directory between calls to GetCurrentDirectoryW(). The first call was used to deter
win: fix thread race in uv_cwd() and uv_chdir() (#3708) Another thread can change the working directory between calls to GetCurrentDirectoryW(). The first call was used to determine the size of the buffer to use in the second call. Retry if the reported size does not match the expected size because the buffer's contents is undefined in that case.
show more ...
|
850f002c | 27-Jul-2022 |
Ben Noordhuis |
build: switch ci from macos-10.15 to macos-11 (#3707) The former will be removed by GitHub in August. Fixes: https://github.com/libuv/libuv/issues/3697 |
df0ac426 | 27-Jul-2022 |
Ben Noordhuis |
win: fix off-by-1 buffer overrun in uv_exepath() (#3695) uv_exepath() wrote the nul byte *after* the end of the buffer. It's not necessary to write said nul byte in the first place becau
win: fix off-by-1 buffer overrun in uv_exepath() (#3695) uv_exepath() wrote the nul byte *after* the end of the buffer. It's not necessary to write said nul byte in the first place because that was a workaround for a bug in the Windows XP version of GetModuleFileName(). Fix uv_cwd() in the same fashion, it doesn't need the nul byte either. Fixes: https://github.com/libuv/libuv/issues/3691
show more ...
|
6c692ad1 | 20-Jul-2022 |
Ben Noordhuis |
unix: don't accept() connections in a loop (#3696) After analysis of many real-world programs I've come to conclude that accepting in a loop is nearly always suboptimal. 1. 99.9
unix: don't accept() connections in a loop (#3696) After analysis of many real-world programs I've come to conclude that accepting in a loop is nearly always suboptimal. 1. 99.9% of the time the second accept() call fails with EAGAIN, meaning there are no additional connections to accept. Not super expensive in isolation but it adds up. 2. When there are more connections to accept but the listen socket is shared between multiple processes (ex. the Node.js cluster module), libuv's greedy behavior necessitated the UV_TCP_SINGLE_ACCEPT hack to slow it down in order to give other processes a chance. Accepting a single connection and relying on level-triggered polling to get notified on the next incoming connection both simplifies the code and optimizes for the common case.
show more ...
|
ac5180e2 | 19-Jul-2022 |
Ben Noordhuis |
unix: switch to c11 atomics (#3688) Fixes: https://github.com/libuv/libuv/issues/3683 |
fb85db1d | 18-Jul-2022 |
自发对称破缺 <429839446@qq.com> |
build: enable MSVC_RUNTIME_LIBRARY setting (#3624) |
06948c6e | 15-Jul-2022 |
Ben Noordhuis |
android: remove pthread-fixes.c (#3674) This was a kludge for a bug in old versions (API level <= 16) of the Android SDK. The os390 port had a build dependency on the file but d
android: remove pthread-fixes.c (#3674) This was a kludge for a bug in old versions (API level <= 16) of the Android SDK. The os390 port had a build dependency on the file but does not actually use it so that too has been removed.
show more ...
|
495ffca2 | 15-Jul-2022 |
Ben Noordhuis |
win: remove stdint-msvc2008.h (#3673) Support for VS 2008 was removed two years ago in commit a779fccfd so this file can safely be deleted. |
e81cc74c | 12-Jul-2022 |
Jameson Nash |
Now working on version 1.44.3 Fixes: https://github.com/libuv/libuv/issues/3586 |
57a9a719 | 12-Jul-2022 |
Jameson Nash |
Add SHA to ChangeLog |
0c1fa696 | 12-Jul-2022 |
Jameson Nash |
2022.07.12, Version 1.44.2 (Stable) Changes since version 1.44.1: * Add SHA to ChangeLog (Jameson Nash) * aix, ibmi: handle server hang when remote sends TCP RST (V-for-Vas
2022.07.12, Version 1.44.2 (Stable) Changes since version 1.44.1: * Add SHA to ChangeLog (Jameson Nash) * aix, ibmi: handle server hang when remote sends TCP RST (V-for-Vasili) * build: make CI a bit noisier (Jameson Nash) * process: reset the signal mask if the fork fails (Jameson Nash) * zos: implement cmpxchgi() using assembly (Shuowang (Wayne) Zhang) * build: AC_SUBST for AM_CFLAGS (Claes Nästén) * ibmi: Implement UDP disconnect (V-for-Vasili) * doc: update active maintainers list (Ben Noordhuis) * build: fix kFreeBSD build (James McCoy) * build: remove Windows 2016 workflows (Darshan Sen) * Revert "win,errors: remap ERROR_ACCESS_DENIED to UV_EACCES" (Darshan Sen) * unix: simplify getpwuid call (Jameson Nash) * build: filter CI by paths and branches (Jameson Nash) * build: add iOS to macos CI (Jameson Nash) * build: re-enable CI for windows changes (Jameson Nash) * process,iOS: fix build breakage in process.c (Denny C. Dai) * test: remove unused declarations in tcp_rst test (V-for-Vasili) * core: add thread-safe strtok implementation (Guilherme Íscaro) * win: fix incompatible-types warning (twosee) * test: fix flaky file watcher test (Ben Noordhuis) * build: fix AIX xlc autotools build (V-for-Vasili) * unix,win: fix UV_RUN_ONCE + uv_idle_stop loop hang (Ben Noordhuis) * win: fix unexpected ECONNRESET error on TCP socket (twosee) * doc: make sample cross-platform build (gengjiawen) * test: separate some static variables by test cases (Hannah Shi) * sunos: fs-event callback can be called after uv_close() (Andy Fiddaman) * uv: re-register interest in a file after change (Shuowang (Wayne) Zhang) * uv: register UV_RENAME event for _RFIM_UNLINK (Shuowang (Wayne) Zhang) * uv: register __rfim_event 156 as UV_RENAME (Shuowang (Wayne) Zhang) * doc: remove smartos from supported platforms (Ben Noordhuis) * macos: avoid posix_spawnp() cwd bug (Jameson Nash) * release: check versions of autogen scripts are newer (Jameson Nash) * test: rewrite embed test (Ben Noordhuis) * openbsd: use utimensat instead of lutimes (tuftedocelot) * doc: fix link to uvwget example main() function (blogdaren) * unix: use MSG_CMSG_CLOEXEC where supported (Ben Noordhuis) * test: remove disabled callback_order test (Ben Noordhuis) * win,pipe: fix bugs with pipe resource lifetime management (Jameson Nash) * loop: better align order-of-events behavior between platforms (Jameson Nash) * aix,test: uv_backend_fd is not supported by poll (V-for-Vasili) * kqueue: skip EVFILT_PROC when invalidating fds (chucksilvers) * darwin: fix atomic-ops.h ppc64 build (Sergey Fedorov) * zos: don't err when killing a zombie process (Shuowang (Wayne) Zhang) * zos: avoid fs event callbacks after uv_close() (Shuowang (Wayne) Zhang) * zos: correctly format interface addresses names (Shuowang (Wayne) Zhang) * zos: add uv_interface_addresses() netmask support (Shuowang (Wayne) Zhang) * zos: improve memory management of ip addresses (Shuowang (Wayne) Zhang) * tcp,pipe: fail `bind` or `listen` after `close` (theanarkh) * zos: implement uv_available_parallelism() (Shuowang (Wayne) Zhang) * udp,win: fix UDP compiler warning (Jameson Nash) * zos: fix early exit of epoll_wait() (Shuowang (Wayne) Zhang) * unix,tcp: fix errno handling in uv__tcp_bind() (Samuel Cabrero) * shutdown,unix: reduce code duplication (Jameson Nash) * unix: fix c99 comments (Ben Noordhuis) * unix: retry tcgetattr/tcsetattr() on EINTR (Ben Noordhuis) * docs: update introduction.rst (Ikko Ashimine) * unix,stream: optimize uv_shutdown() codepath (Jameson Nash) * zos: delay signal handling until after normal i/o (Shuowang (Wayne) Zhang) * stream: uv__drain() always needs to stop POLLOUT (Jameson Nash) * unix,tcp: allow EINVAL errno from setsockopt in uv_tcp_close_reset() (Stacey Marshall) * win,shutdown: improve how shutdown is dispatched (Jameson Nash)
show more ...
|
ee970e38 | 11-Jul-2022 |
Jameson Nash |
win,shutdown: improve how shutdown is dispatched (#3649) Split this off from endgame, so that it can be handled separately and earlier, rather than trying to detect inside endgame which
win,shutdown: improve how shutdown is dispatched (#3649) Split this off from endgame, so that it can be handled separately and earlier, rather than trying to detect inside endgame which case we are in. There appear to be some race conditions on the `handle` field still however, which this does not yet attempt to address.
show more ...
|