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
792
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
This patch adds documentation for the introduced `uv_os_get_passwd2`, `uv_os_get_group`, `uv_os_free_group` methods in #3523 Fixes: #4007 Signed-off-by: Juan José Arboleda <[email protected]>
Start connecting to the peers after all threads to poll for accepting connections. Ref: #4407
On IBM AIX (and PASE for IBM i), use st_timespec_t when _XOPEN_SOURCE>=700 and _ALL_SOURCE is defined. Signed-off-by: Jeffrey H. Johnson <[email protected]>
Signed-off-by: Andy Pan <[email protected]>
--------- Signed-off-by: Andy Pan <[email protected]>
CreateProcessW() in uv_spawn() on Windows will fail with ERROR_BAD_EXE_FORMAT if attempting to run a file that is not an executable. Refs: #2348
Update the README file with instructions on how to install libuv through the Conan package manager. Signed-off-by: Uilian Ries <[email protected]>
Remove the unused `req` parameter from the uv__req_register and uv__req_unregister macros.
It's complaining in the post-run step about a missing symbol: /__e/node20/bin/node: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /__e/node20/bin/node) For now pin actions/checkout to node 16.
Mark them UV_EXTERN so they are visible on Windows. Fixes: #4436
- ptsname() needs _XOPEN_SOURCE >= 500 - setenv needs _POSIX_C_SOURCE >= 200112 - setgroups needs grp.h
macOS 11 is gone: actions/runner-images#10198
Disable sendfile() on iOS with arm64 architecture to avoid crashes caused by throwing SIGSYS signal. Fixes: #3187
The docs there link to GetFinalPathNameByHandleA() and CreateFileA(), but src/win/fs.c uses GetFinalPathNameByHandleW() and CreateFileW().
This was incorrectly mapped originally, which makes for confusing error messages about an EPIPE if a program happens to (unwisely) set PIPE_WAIT on the handle. It is unclear to me if libuv should try to handle this in some meaningful way, and very unclear what that way would look like, but at least expose this to the caller with the correct errno translation.
Under rare but benign circumstances (on XNU), incoming datagrams appear to be dropped by the operating system after libuv has been notified of their arrival but before libuv has had a chance to receive them. Fixes: #4219
The test is skipped in its entirety on OpenBSD so there is no point in compiling out code on said platform later on, it's not run anyway.
Implements posix delete for files and dirs, with fallback to the old method if not supported (e.g. Fat32 or Win8). Fixes: #3839
If the corresponding environment variables are empty, the uv_us_homedir() and uv_os_tmpdir() return garbage values. The reason for this situation is the Windows API which doesn't return an error even if the path is empty. This PR fixes this problem by checking the return value of the API call. If it is not an error and the length of the value is less than 3, uv_us_homedir() and uv_os_tmpdir() will return UV_ENOENT. Fixes: #2328
Which was broken both in `windows` and `macos`.
This apparently manifests when one passes `--cpu=.5` to docker because then /sys/fs/cgroup/cpu.max looks like `50000 100000`, and 50000 divided by 100000 is zero when using integer math. Return 1 in that case, indicating there is at least one CPU available. Returning 0 makes no sense because there is always at least one CPU available, otherwise the program wouldn't be running. Fixes: nodejs/node#59200
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4 to 5. - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v4...v5) --- updated-dependencies: - dependency-name: actions/download-artifact dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
The original repository was deleted and the URL is now owned by someone else. Refs: https://hackerone.com/bugs?report_id=3295855
This fixes the test suite in environments where `/tmp` is not writable or does not allow the use of Unix sockets, and matches the use of relative paths elsewhere in the tests.
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](actions/checkout@v4...v5) --- updated-dependencies: - dependency-name: actions/checkout dependency-version: '5' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]>
The AArch64 YIELD instruction affects processors that support symmetric multithreading, while on other implementations (which are the majority on the market) it is equivalent to NOP, thus failing to achieve the desired delay effect inside uv__async_spin(). Instead, use the ISB instruction, following one of Arm's recommendations [1]. [1] https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/multi-threaded-applications-arm Signed-off-by: Anton Kirilov <[email protected]>
Rationale for changing it to an enum: - frees up some bits that can be used for other things - is potentially faster (direct vs. indirect call) - is potentially more secure (makes UAF or overruns harder to exploit, no arbitrary function pointer to clobber) Fixes: #4842
The static initial table reserved space for MxN elements but only used every Nth element. Removing the excess elements shrinks the table 16x. I added search/insertion/deletion time logging while here to ensure no performance regressions. Fixes: #4823
uv__signal_event() is invoked directly from uv__io_poll(), so the UV__SIGNAL_EVENT case in uv__io_cb() is never reached. Refs: #4854 (comment) Signed-off-by: Juan José Arboleda <[email protected]>
Without -Werror=unknown-warning-option, these conditional argument additions would not work as intended on clang.
_snwprintf_s takes its length argument in characters, not bytes. Does not appear to be a security issue because the paths are not under an attacker's control unless the system has been compromised beyond salvation: requires a combination of being able to set the name of the executable and/or changing %LOCALAPPDATA% or a registry key. Refs: https://github.com/libuv/libuv/security/advisories/GHSA-jjrx-vr7q-7732
There is a minor error about the return value of uv_cancel for tasks that are already executing. All other parts of the documentation correctly states that uv_cancel will fail.
Use libuv's OS-independent implementation to look up UV_THREADPOOL_SIZE. Fixes: #4887
While unlikely that this fails (since it is implemented to call `abort()` instead of actually return an error code, we would theoretically leak this state. The process state init doesn't actually have a cleanup, and just awkwardly relies on uv_signal_close being unnecessary (which is likely true though).
#4901) The test previously assumed a default nice value of 0, but this can vary depending on PAM configuration, /etc/security/limits.conf, or other environment settings. Fixes: #4898 Signed-off-by: Juan José Arboleda <[email protected]>
Fixes: #4551 Signed-off-by: Juan José Arboleda <[email protected]>
Add a stub function for no-ahafs builds. src/unix/core.c won't actually call uv__ahafs_event but the linker still needs to see a symbol.
Fixes: #4447 Signed-off-by: Juan José Arboleda <[email protected]> Co-authored-by: theanarkh <[email protected]>
Add a stub function for no-ahafs builds. src/unix/core.c won't actually call uv__ahafs_event but the linker still needs to see a symbol. Like commit 87943b0 but for IBM i instead of AIX this time.
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 : )