#
6b56200c |
| 28-Feb-2024 |
Thomas Walter <31201229+waltoss@users.noreply.github.com> |
linux: fix uv_available_parallelism using cgroup (#4278) uv_available_parallelism does not handle container cpu limit set by systems like Docker or Kubernetes. This patch fixes this
linux: fix uv_available_parallelism using cgroup (#4278) uv_available_parallelism does not handle container cpu limit set by systems like Docker or Kubernetes. This patch fixes this limitation by comparing the amount of available cpus returned by syscall with the quota of cpus available defined in the cgroup. Fixes: https://github.com/libuv/libuv/issues/4146
show more ...
|
#
160cd562 |
| 08-Jan-2024 |
Santiago Gimeno |
linux: retry fs op if unsupported by io_uring (#4268) Fallback to the threadpool if it returns `EOPNOTSUPP`. Fixes: https://github.com/nodejs/node/issues/50876
|
#
962b8e62 |
| 23-May-2023 |
Santiago Gimeno |
linux: add some more iouring backed fs ops (#4012) Specifically: `link`, `mkdir`, `rename`, `symlink` and `unlink`.
|
#
dfae365f |
| 20-Apr-2023 |
Ben Noordhuis |
linux: add IORING_OP_CLOSE support (#3964)
|
#
5ca5e475 |
| 20-Apr-2023 |
Ben Noordhuis |
linux: add IORING_OP_OPENAT support (#3963)
|
#
d2c31f42 |
| 18-Apr-2023 |
Ben Noordhuis |
linux: introduce io_uring support (#3952) Add io_uring support for several asynchronous file operations: - read, write - fsync, fdatasync - stat, fstat, lstat io_ur
linux: introduce io_uring support (#3952) Add io_uring support for several asynchronous file operations: - read, write - fsync, fdatasync - stat, fstat, lstat io_uring is used when the kernel is new enough, otherwise libuv simply falls back to the thread pool. Performance looks great; an 8x increase in throughput has been observed. This work was sponsored by ISC, the Internet Systems Consortium. Fixes: https://github.com/libuv/libuv/issues/1947
show more ...
|
#
28b9f1e6 |
| 31-Mar-2023 |
Ben Noordhuis |
linux: replace unsafe macro with inline function (#3933) Replace the throw-type-safety-to-the-wind CAST() macro with an inline function that is hopefully harder to misuse. It should make
linux: replace unsafe macro with inline function (#3933) Replace the throw-type-safety-to-the-wind CAST() macro with an inline function that is hopefully harder to misuse. It should make the inotify code slightly more legible if nothing else.
show more ...
|
#
62c2374a |
| 07-Feb-2023 |
Jameson Nash |
unix: DRY and fix tcp bind error path (#3904) The conditional bind-to-port logic in tcp.c had an error path that closed the socket file descriptor while it was still owned by the uv_
unix: DRY and fix tcp bind error path (#3904) The conditional bind-to-port logic in tcp.c had an error path that closed the socket file descriptor while it was still owned by the uv_tcp_t handle. Fix that by not closing the file descriptor and refactoring the code so it is hopefully harder to get wrong in the future. The refactoring also makes the code a little flatter, removes duplicated code, and, arguably, is in a more idiomatic libuv style. Fixes: https://github.com/libuv/libuv/issues/3461 Replaces: https://github.com/libuv/libuv/pull/3462 Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
#
42cc412c |
| 01-Feb-2023 |
Jameson Nash |
darwin,process: feed kevent the signal to reap children (#3893) Since we are emulating this event, but are not using the pending_queue, we need to make sure it is accounted for properly.
darwin,process: feed kevent the signal to reap children (#3893) Since we are emulating this event, but are not using the pending_queue, we need to make sure it is accounted for properly. Also DRY some of the reset_timeout code here. This was observed to cause a hang in certain rare cases, particularly on M1 machines. Do a bit of code cleanup too, since we do not need to initialize the internal signal handling pipe if it will not be used.
show more ...
|
#
2638237e |
| 21-Jan-2023 |
James McCoy |
build: add CI for OpenBSD and FreeBSD (#3548) Fixes: https://github.com/libuv/libuv/issues/3510
|
#
2f110a50 |
| 18-Jan-2023 |
Jameson Nash |
misc: extend getpw to take uid as an argument (#3523) File system operations may return uid and gid values, which we may want to pretty-print. We already have the code for getting inform
misc: extend getpw to take uid as an argument (#3523) File system operations may return uid and gid values, which we may want to pretty-print. We already have the code for getting information for the current user, so just need to add a parameter to make it exposed for every user. We expose information about groups in a similar manner also.
show more ...
|
#
5102b2c0 |
| 28-Nov-2022 |
Ben Noordhuis |
unix: drop kfreebsd support (#3835) Because kFreeBSD is dead. RIP. Fixes: https://github.com/libuv/libuv/issues/3833
|
#
8ddffeee |
| 28-Nov-2022 |
Ben Noordhuis |
doc: bump min supported linux and freebsd versions (#3830) The old Linux baseline was essentially RHEL 6 but that distro has been out of support for two years now. Move to RHEL 7.
doc: bump min supported linux and freebsd versions (#3830) The old Linux baseline was essentially RHEL 6 but that distro has been out of support for two years now. Move to RHEL 7. This commit also moves FreeBSD to tier 2 because it isn't actually part of libuv's CI matrix, only Node's. Fixes: https://github.com/libuv/libuv/issues/3822
show more ...
|
#
acfe668e |
| 18-Oct-2022 |
Ben Noordhuis |
build: add MemorySanitizer (MSAN) support (#3788) - unpoison results from linux system call wrappers - unpoison results from stat/fstat/lstat to pacify clang 14 (fixed in late
build: add MemorySanitizer (MSAN) support (#3788) - unpoison results from linux system call wrappers - unpoison results from stat/fstat/lstat to pacify clang 14 (fixed in later versions) - add MSAN build option - turn on MSAN CI build
show more ...
|
#
cd1a510d |
| 02-Oct-2022 |
Ben Noordhuis |
linux: merge files back into single file (#3778) I split up linux.c around 2012 for no real reason and now I'm merging it back together, again for no real reason. I half-jest. I
linux: merge files back into single file (#3778) I split up linux.c around 2012 for no real reason and now I'm merging it back together, again for no real reason. I half-jest. I like the idea of having everything together because I practically forgot linux-inotify.c existed. It also makes io_uring experiments a little easier. Last but not least, it removes about 100 lines of license boilerplate.
show more ...
|
#
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 ...
|
#
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 ...
|
#
5ec89b8c |
| 10-Mar-2022 |
V-for-Vasili |
aix, ibmi: handle server hang when remote sends TCP RST (#3482) Workaround getsockname() not working for a TCP handle that has received RST from the remote. Co-authored-by: Jame
aix, ibmi: handle server hang when remote sends TCP RST (#3482) Workaround getsockname() not working for a TCP handle that has received RST from the remote. Co-authored-by: Jameson Nash <vtjnash@gmail.com>
show more ...
|
#
20a2b1c3 |
| 06-Mar-2022 |
Jameson Nash |
unix: remove uv__cloexec_ioctl() (#3515) Now that uv__cloexec_fcntl() is simplified (https://github.com/libuv/libuv/pull/3492), there is no benefit to maintaining duplicate code path
unix: remove uv__cloexec_ioctl() (#3515) Now that uv__cloexec_fcntl() is simplified (https://github.com/libuv/libuv/pull/3492), there is no benefit to maintaining duplicate code paths for the same thing.
show more ...
|
#
993e9ebd |
| 27-Feb-2022 |
David CARLIER |
freebsd: use copy_file_range() in uv_fs_sendfile() (#3496) Use copy_file_range() on FreeBSD 13 and above.
|
#
7ae0c954 |
| 23-Feb-2022 |
Vittore F. Scolari |
hurd: unbreak build on GNU/Hurd (#3450) The GNU/Hurd platform does not define IP_ADD_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP, MCAST_JOIN_SOURCE_GROUP and MCAST_LEAVE_SOURCE_GROU
hurd: unbreak build on GNU/Hurd (#3450) The GNU/Hurd platform does not define IP_ADD_SOURCE_MEMBERSHIP, IP_DROP_SOURCE_MEMBERSHIP, MCAST_JOIN_SOURCE_GROUP and MCAST_LEAVE_SOURCE_GROUP. Implement a few functions for the GNU/Hurd. Specifically: * uv_resident_set_memory (from Linux) * uv_get_free_memory (from Linux) * uv_get_total_memory (from Linux) * uv_cpu_info (from cygwin) * uv__process_title_cleanup (void) * uv_get_constrained_memory (stub) * Leave proctitle unimplemented on Hurd for now * Implement hurdish uv_exepath * Enable ifaddrs api * Unbreak udp basics * Unbreak futime and lutime on Hurd
show more ...
|
#
d54c92e3 |
| 15-Feb-2022 |
Jameson Nash |
win: fix style nits [NFC] (#3474) Internal functions usually have a uv__ prefix.
|
#
953f901d |
| 01-Feb-2022 |
Jameson Nash |
process,bsd: handle kevent NOTE_EXIT failure (#3451) The kernel may return ESRCH if the child has already exited here. This is rather annoying, and means we must indirectly handle no
process,bsd: handle kevent NOTE_EXIT failure (#3451) The kernel may return ESRCH if the child has already exited here. This is rather annoying, and means we must indirectly handle notification to our event loop of the process exit. Refs: https://github.com/libuv/libuv/pull/3441 Refs: https://github.com/libuv/libuv/pull/3257
show more ...
|
#
d9e90857 |
| 31-Jan-2022 |
Jeremy Rose |
process: monitor for exit with kqueue on BSDs (#3441) This adds a workaround for an xnu kernel bug that sometimes results in SIGCHLD not being delivered. The workaround is to use kevent
process: monitor for exit with kqueue on BSDs (#3441) This adds a workaround for an xnu kernel bug that sometimes results in SIGCHLD not being delivered. The workaround is to use kevent to listen for EVFILT_PROC/NOTE_EXIT events instead of relying on SIGCHLD on *BSD. Apple rdar: FB9529664 Refs: https://github.com/libuv/libuv/pull/3257
show more ...
|
#
8ea8f124 |
| 19-Jul-2021 |
Claes Nästén |
unix: strnlen is not available on Solaris 10 `strnlen` was not available on Solaris 10, so provide a fallback implementation for it. PR-URL: https://github.com/libuv/libuv/pull/
unix: strnlen is not available on Solaris 10 `strnlen` was not available on Solaris 10, so provide a fallback implementation for it. PR-URL: https://github.com/libuv/libuv/pull/3152 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|