1eae5598 | 11-Apr-2023 |
Stacey Marshall |
unix,sunos: SO_REUSEPORT not valid on all sockets (#3949) Issue observed on Solaris with ISC BIND 9.18 which reported "unable to open route socket: unexpected error". illumos did not hit
unix,sunos: SO_REUSEPORT not valid on all sockets (#3949) Issue observed on Solaris with ISC BIND 9.18 which reported "unable to open route socket: unexpected error". illumos did not hit it because it does not have SO_REUSEPORT (open RFE https://www.illumos.org/issues/12455)
show more ...
|
244df24b | 01-Apr-2023 |
Ben Noordhuis |
linux: remove arm oabi support (#3942) The last major distro that supported the oabi calling convention was Debian 5 (Lenny) and that went out of support in February 2012. It seems l
linux: remove arm oabi support (#3942) The last major distro that supported the oabi calling convention was Debian 5 (Lenny) and that went out of support in February 2012. It seems like a fairly safe assumption that nothing speaks oabi anymore in this day and age. Fixes: https://github.com/libuv/libuv/issues/3935
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 ...
|
0c8eccc3 | 28-Mar-2023 |
Ben Noordhuis |
linux: remove epoll_pwait() emulation code path (#3936) This was removed before in 2018 but then reinstated again in 2019 to fix building with old Android SDKs. Well, time marches on; th
linux: remove epoll_pwait() emulation code path (#3936) This was removed before in 2018 but then reinstated again in 2019 to fix building with old Android SDKs. Well, time marches on; this time it's gone for good. Refs: https://github.com/libuv/libuv/pull/1372 Refs: https://github.com/libuv/libuv/pull/2358
show more ...
|
7b84d5b0 | 20-Mar-2023 |
Trevor Norris |
doc: add trevnorris to maintainers (#3931) |
66009549 | 20-Mar-2023 |
Trevor Norris |
win,unix: change execution order of timers (#3927) The maximum number of times timers should run when uv_run() is called with UV_RUN_ONCE and UV_RUN_NOWAIT is 1. Do that by conditionally
win,unix: change execution order of timers (#3927) The maximum number of times timers should run when uv_run() is called with UV_RUN_ONCE and UV_RUN_NOWAIT is 1. Do that by conditionally calling timers before entering the while loop when called with UV_RUN_DEFAULT. The reason to always run timers at the end of the while loop, instead of at the beginning, is to help enforce the conceptual event loop model. Which starts when entering the event provider (e.g. calling poll). Other than only allowing timers to be processed once per uv_run() execution, the only other noticeable change this will show is if all the following are true: * uv_run() is called with UV_RUN_NOWAIT or UV_RUN_ONCE. * An event is waiting to be received when poll is called. * Execution time between the call to uv_timer_start() and entering the while loop is longer than the timeout. If all these are true, then timers that would have executed before entering the event provider will now be executed afterward. Fixes: https://github.com/libuv/libuv/issues/3686 Co-authored-by: Momtchil Momtchev <momtchil@momtchev.com>
show more ...
|
4a65e10f | 16-Mar-2023 |
Trevor Norris |
doc: add entries to LINKS.md (#3925) Add the libuv wrapper nsuv to the list, along with other C++ apps that were found to use libuv extensively and have been maintained recently. |
d4eb276e | 13-Mar-2023 |
Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> |
darwin: bring back macos-specific copyfile(3) (#3654) Co-authored-by: Mingye Wang <arthur200126@gmail.com> |
91a7e498 | 12-Mar-2023 |
Trevor Norris |
test: silence more valgrind warnings (#3917) Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop needs to be cleaned up. Since it asserts on uv_loop_close(), need to
test: silence more valgrind warnings (#3917) Pass the loop to MAKE_VALGRIND_HAPPY() so it's explicit on which loop needs to be cleaned up. Since it asserts on uv_loop_close(), need to remove a couple of those that were being done before the call. Cleanup where loop was assigned, so the entire test either uses loop or uv_default_loop(). Not both. Also take care of any reqs that may have been left uncleaned.
show more ...
|
dfb206c8 | 12-Mar-2023 |
Bruno Passeri |
linux: fix ceph copy error truncating readonly files (#3920) Trying to copy a read-only file onto a ceph-fuse filesystem fails, returning an `EACCES` error. This happens when the destina
linux: fix ceph copy error truncating readonly files (#3920) Trying to copy a read-only file onto a ceph-fuse filesystem fails, returning an `EACCES` error. This happens when the destination doesn't exist yet, and a new file is created. By checking that the error matches, and that the destination file is empty, we can fix this issue while waiting for a proper Ceph fix to be upstreamed. Fixes: https://github.com/libuv/libuv/issues/3919 Refs: https://github.com/nodejs/node/issues/37284 Refs: https://github.com/libuv/libuv/issues/3117 Refs: https://github.com/libuv/libuv/issues/3322
show more ...
|
9581e3df | 10-Mar-2023 |
Ben Noordhuis |
test: fix visual studio 2015 build error (#3918) |
964f79f7 | 06-Mar-2023 |
Jameson Nash |
barrier: wait for prior out before next in (#3905) This code would previously get confused between rounds of the barrier being called and a thread might incorrectly get stuck (deadlock)
barrier: wait for prior out before next in (#3905) This code would previously get confused between rounds of the barrier being called and a thread might incorrectly get stuck (deadlock) if the next round started before that thread had exited the current round. Avoid that by not starting the next round in++ before out-- has reached zero indicating that all threads have left the prior round. And fix it that on Windows by replacing the implementation with the one from unix. There are some awkward platform-specific redirection here with an extra malloc that is not needed on Win32, but that will be fixed in libuv v2. Fixes: https://github.com/libuv/libuv/issue/3872
show more ...
|
460accf9 | 03-Mar-2023 |
Trevor Norris |
test: make valgrind happy (#3916) Missing a call to MAKE_VALGRIND_HAPPY() to silence valgrind output. |
780b40ea | 27-Feb-2023 |
Trevor Norris |
win: fix leak in uv_chdir (#3912) The call to uv__cwd() always returns a new allocation. The previously allocated utf16_buffer needs to be free'd before passing it in to receive the
win: fix leak in uv_chdir (#3912) The call to uv__cwd() always returns a new allocation. The previously allocated utf16_buffer needs to be free'd before passing it in to receive the next allocation.
show more ...
|
e613fdd8 | 17-Feb-2023 |
Ben Noordhuis |
macos: fix fsevents thread race conditions (#3909) ThreadSanitizer complains about unsynchronized access to the handle->loop->cf_state pointer. The warning is probably benign bu
macos: fix fsevents thread race conditions (#3909) ThreadSanitizer complains about unsynchronized access to the handle->loop->cf_state pointer. The warning is probably benign but the fsevents thread already knows the pointer. It doesn't have to read it, it just needs to propagate it. Refs: https://github.com/libuv/libuv/issues/3880
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 ...
|
84525b26 | 07-Feb-2023 |
Ben Noordhuis |
test: remove timing-sensitive check (#3899) Remove expectations around uv_cond_timedwait() maximum sleep time. The OpenBSD buildbot sleeps more than 5x longer than requested. It no
test: remove timing-sensitive check (#3899) Remove expectations around uv_cond_timedwait() maximum sleep time. The OpenBSD buildbot sleeps more than 5x longer than requested. It no longer makes sense to expect some reasonable upper bound because at that point we've moved well beyond reasonable. Fixes: https://github.com/libuv/libuv/issues/3896
show more ...
|
be2ddacb | 01-Feb-2023 |
Ben Noordhuis |
unix: abort on clock_gettime() error (#3898) Per standard libuv operating procedures, abort on unexpected failure. Don't silently ignore the error and return garbage. |
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 ...
|
f1b4c766 | 31-Jan-2023 |
Ben Noordhuis |
test: remove bad tty window size assumption (#3895) Fixes: https://github.com/libuv/libuv/issues/3894 |
ee206367 | 22-Jan-2023 |
Jameson Nash |
build,test: fix distcheck errors (#3886) When run under distcheck, the libuv source permissions are read-only, which makes this test copyfile fail without explicit correction to the
build,test: fix distcheck errors (#3886) When run under distcheck, the libuv source permissions are read-only, which makes this test copyfile fail without explicit correction to the permissions.
show more ...
|
2638237e | 21-Jan-2023 |
James McCoy |
build: add CI for OpenBSD and FreeBSD (#3548) Fixes: https://github.com/libuv/libuv/issues/3510 |
67063ead | 19-Jan-2023 |
Ben Noordhuis |
build: promote tsan ci to must-pass Refs: https://github.com/libuv/libuv/issues/3681 |
a3b7dfcf | 19-Jan-2023 |
Ben Noordhuis |
test: cond-skip tcp_writealot Too slow to run under ThreadSanitizer. Refs: https://github.com/libuv/libuv/issues/3681 |
bcbaf671 | 19-Jan-2023 |
Ben Noordhuis |
test: cond-skip signal_multiple_loops ThreadSanitizer's complaints about data races are likely legitimate but they are pre-existing and not straightforward to fix with the current de
test: cond-skip signal_multiple_loops ThreadSanitizer's complaints about data races are likely legitimate but they are pre-existing and not straightforward to fix with the current design. Something for later. Refs: https://github.com/libuv/libuv/issues/3681
show more ...
|