d0e500c8 | 13-Feb-2022 |
Jameson Nash |
win: use GetTickCount64 for uptime again (#3470) Reverts 442aa1f4696d24a605790b8ad4317696758ee8de, since this is an improved API in Windows Vista that is now usable as a replacement. It
win: use GetTickCount64 for uptime again (#3470) Reverts 442aa1f4696d24a605790b8ad4317696758ee8de, since this is an improved API in Windows Vista that is now usable as a replacement. It simplifies the code substantially, while returning nearly the same result (on my system, the performance counters were 6 seconds behind). The old code also did not work on Wine-5.0 (where I observed that `data_size == data_block->HeaderLength`, and so no data was present).
show more ...
|
939a0563 | 13-Feb-2022 |
Jameson Nash |
loop: add pending work to loop-alive check (#3466) Pending work may be either (on any platform) pending_queue callbacks or (on unix) watcher_queue handles to add to the io poll object.
loop: add pending work to loop-alive check (#3466) Pending work may be either (on any platform) pending_queue callbacks or (on unix) watcher_queue handles to add to the io poll object. Previously, we might have gotten somewhat stuck if the user caused an event to be added to one of these in the idle or prepare callbacks, or was embedding libuv. Refs: https://github.com/libuv/libuv/pull/3234 Refs: https://github.com/libuv/libuv/issues/3101 Refs: https://github.com/libuv/libuv/pull/3308
show more ...
|
7a68f5ab | 08-Feb-2022 |
WenTao Ou |
build: export uv_a for cmake (#3373) |
50c1d008 | 08-Feb-2022 |
Luca Adrian L |
win: return fractional seconds in uv_uptime() (#3455) Some systems return fractional seconds, some return full seconds. On Windows uptime was artificially rounded down. Fixes #3
win: return fractional seconds in uv_uptime() (#3455) Some systems return fractional seconds, some return full seconds. On Windows uptime was artificially rounded down. Fixes #3447.
show more ...
|
de24da8c | 08-Feb-2022 |
Ben Noordhuis |
darwin: bump minimum supported version to 10.15 (#3406) We can't realistically claim to support 10.7 or any version that Apple no longer supports so let's bump the baseline to something
darwin: bump minimum supported version to 10.15 (#3406) We can't realistically claim to support 10.7 or any version that Apple no longer supports so let's bump the baseline to something more realistic. Refs: https://github.com/libuv/libuv/pull/482 Refs: https://github.com/libuv/libuv/pull/3405
show more ...
|
038086dc | 08-Feb-2022 |
Ben Noordhuis |
test: remove flaky test ipc_closed_handle (#3464) The test is very flaky, both on the CI and on people's local machines. I spent some time trying to fix it but its design is fairly
test: remove flaky test ipc_closed_handle (#3464) The test is very flaky, both on the CI and on people's local machines. I spent some time trying to fix it but its design is fairly questionable and it fails to test what it should more often than not because on fast machines no queueing of data takes place. Fixes #2307.
show more ...
|
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 ...
|
870828c8 | 31-Jan-2022 |
woclass |
doc/guide: update content and sample code (#3408) - Add `Makefile` for example codes. (cherry-pick from old uvbook repo) - Add a new example "Default loop" to "Basics of libuv"/"Default
doc/guide: update content and sample code (#3408) - Add `Makefile` for example codes. (cherry-pick from old uvbook repo) - Add a new example "Default loop" to "Basics of libuv"/"Default loop" - Document review and update: `Introduction`, `Basics of libuv`, `Filesystem` + Update the referenced libuv code snippet + Link update: http->https **Content Updates**: - `filesystem.rst`#L291-L297: Add note for `uv_fs_event_start` - `filesystem.rst`#L334: Add description of the callback function parameter `status` The following examples have been tested manually in WSL2 (Ubuntu 20.04) with libuv 1.42.0: - helloworld - default-loop - idle-basic - uvcat - uvtee - onchange (test on macOS) Co-authored-by: Nikhil Marathe <nsm.nikhil@gmail.com>
show more ...
|
930af434 | 31-Jan-2022 |
Jameson Nash |
build: rename CFLAGS to AM_CFLAGS (#3431) The CFLAGS variable is reserved and should never be set: https://www.gnu.org/software/automake/manual/html_node/User-Variables.html |
cdced3a3 | 31-Jan-2022 |
ssrlive <30760636+ssrlive@users.noreply.github.com> |
thread,win: fix C90 style nit (#3393) |
125da33f | 31-Jan-2022 |
Jameson Nash |
build: fix cmake install locations (#3415) Adds static libraries and DLL import libraries, as well as making sure the DLLs go to the correct folder. Closes #3414 |
e89abc80 | 31-Jan-2022 |
Momtchil Momtchev |
test: fix flaky uv_fs_lutime test (#3424) Disable `atime` testing for symlink as this test is dependant on a race condition on some OSes (Linux is one) as `lstat` updates the `atime`
test: fix flaky uv_fs_lutime test (#3424) Disable `atime` testing for symlink as this test is dependant on a race condition on some OSes (Linux is one) as `lstat` updates the `atime`. As both `mtime` and `atime` are set by the same syscall, barring an eventual kernel bug, this test does not omit any error case.
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 ...
|
bb0b4bb7 | 20-Jan-2022 |
Jiawen Geng |
doc: add gengjiawen as maintainer (#3430) |
e43eb667 | 17-Jan-2022 |
Ben Noordhuis |
bsd: ensure mutex is initialized (#3428) The process title mutex was destroyed on library unload without ensuring it was initialized - and it may not be because it's initialized lazily.
bsd: ensure mutex is initialized (#3428) The process title mutex was destroyed on library unload without ensuring it was initialized - and it may not be because it's initialized lazily. On most platforms it worked by accident because an "all zeroes" mutex is synonymous with an initialized and unlocked mutex, but not on NetBSD. Refs: https://github.com/libuv/libuv/pull/3286#issuecomment-1014058782
show more ...
|
b5fa965b | 17-Jan-2022 |
Ben Noordhuis |
unix: don't allow too small thread stack size (#3423) uv_thread_create_ex() lets you set a stack size that is smaller than is safe. It enforces a lower bound of PTHREAD_STACK_MIN (when t
unix: don't allow too small thread stack size (#3423) uv_thread_create_ex() lets you set a stack size that is smaller than is safe. It enforces a lower bound of PTHREAD_STACK_MIN (when that constant is defined) but with musl libc that's still too small to receive signals on. Put the lower bound at 8192 or PTHREAD_STACK_MIN, whichever is greater. The same restriction was already in place for the _default_ stack size.
show more ...
|
d5ed7f12 | 15-Jan-2022 |
Ondřej Surý |
test: test with maximum recvmmsg buffer (#3419) The maximum numbers receivable by the recvmmsg call is defined in src/unix/udp.c as UV__MMSG_MAXWIDTH with the current value being 20.
test: test with maximum recvmmsg buffer (#3419) The maximum numbers receivable by the recvmmsg call is defined in src/unix/udp.c as UV__MMSG_MAXWIDTH with the current value being 20. Align the size of the receive buffer in the mmsg test to receive the maximum number of UDP packets in the test.
show more ...
|
e9cb1848 | 15-Jan-2022 |
Ondřej Surý |
unix: ensure struct msghdr is zeroed in recvmmsg (#3419) With MUSL libc, the struct msghdr is padded to align with the types used in the Linux kernel headers (int vs size_t). When the p
unix: ensure struct msghdr is zeroed in recvmmsg (#3419) With MUSL libc, the struct msghdr is padded to align with the types used in the Linux kernel headers (int vs size_t). When the padding was not zeroed, the syscall would return EMSGSIZE because the random bytes in the padding would be read by kernel as part of the size_t type. Fixes: https://github.com/libuv/libuv/issues/3416
show more ...
|
2fbfa035 | 13-Jan-2022 |
Jessica Clarke |
unix: fix STATIC_ASSERT to check what it means to check (#3417) Currently it's checking pointers to the uv_buf_t fields match the size of the iovec fields. This is true on traditional ar
unix: fix STATIC_ASSERT to check what it means to check (#3417) Currently it's checking pointers to the uv_buf_t fields match the size of the iovec fields. This is true on traditional architectures where pointers are just machine word-sized integers, but not on CHERI, and thus Arm's Morello prototype, where pointers contain additional metadata (including bounds and permissions). Drop the & to fix this.
show more ...
|
c8cbdbd2 | 13-Jan-2022 |
Ben Noordhuis |
android: use libc getifaddrs() (#3412) Fixes: https://github.com/libuv/libuv/issues/3411 |
3a7b9559 | 12-Jan-2022 |
Ben Noordhuis |
darwin: translate EPROTOTYPE to ECONNRESET (#3413) macOS versions 10.10 and 10.15 - and presumbaly 10.11 to 10.14, too - have a bug where a race condition causes the kernel to return EPR
darwin: translate EPROTOTYPE to ECONNRESET (#3413) macOS versions 10.10 and 10.15 - and presumbaly 10.11 to 10.14, too - have a bug where a race condition causes the kernel to return EPROTOTYPE because the socket isn't fully constructed. It's probably the result of the peer closing the connection and that is why libuv translates it to ECONNRESET. Previously, libuv retried until the EPROTOTYPE error went away but some VPN software causes the same behavior except the error is permanent, not transient, turning the retry mechanism into an infinite loop. Refs: https://github.com/libuv/libuv/pull/482 Refs: https://github.com/libuv/libuv/pull/3405
show more ...
|
a3e02e5e | 12-Jan-2022 |
David Machaj <46852402+dmachaj@users.noreply.github.com> |
win: replace CRITICAL_SECTION+Semaphore with SRWLock (#3383) Fixes: https://github.com/libuv/libuv/issues/3382 |
2e42847f | 10-Jan-2022 |
Colin Ihrig |
doc: fix v1.43.0 changelog entries PR-URL: https://github.com/libuv/libuv/pull/3407 |
abb109f3 | 09-Jan-2022 |
Ben Noordhuis |
darwin: remove EPROTOTYPE error workaround (#3405) It's been reported in the past that OS X 10.10, because of a race condition in the XNU kernel, sometimes returns a transient EPROTOTYPE
darwin: remove EPROTOTYPE error workaround (#3405) It's been reported in the past that OS X 10.10, because of a race condition in the XNU kernel, sometimes returns a transient EPROTOTYPE error when trying to write to a socket. Libuv handles that by retrying the operation until it succeeds or fails with a different error. Recently it's been reported that current versions of the operating system formerly known as OS X fail permanently with EPROTOTYPE under certain conditions, resulting in an infinite loop. Because Apple isn't exactly forthcoming with bug fixes or even details, I'm opting to simply remove the workaround and have the error bubble up. Refs: https://github.com/libuv/libuv/pull/482
show more ...
|
bb6248bc | 04-Jan-2022 |
cjihrig |
Now working on version 1.43.1 Fixes: https://github.com/libuv/libuv/issues/3397 |