#
3ecce914 |
| 21-Mar-2024 |
Ben Noordhuis |
linux: don't delay EPOLL_CTL_DEL operations (#4328) Perform EPOLL_CTL_DEL immediately instead of going through io_uring's submit queue, otherwise the file descriptor may be closed by
linux: don't delay EPOLL_CTL_DEL operations (#4328) Perform EPOLL_CTL_DEL immediately instead of going through io_uring's submit queue, otherwise the file descriptor may be closed by the time the kernel starts the operation. Fixes: https://github.com/libuv/libuv/issues/4323
show more ...
|
#
3f7191e5 |
| 05-Feb-2024 |
Brad King |
win/spawn: optionally run executable paths with no file extension (#4292) Add a process options flag to enable the optional behavior. Most users are likely recommended to set this flag b
win/spawn: optionally run executable paths with no file extension (#4292) Add a process options flag to enable the optional behavior. Most users are likely recommended to set this flag by default, but it was deemed potentially breaking to set it by default in libuv. Co-authored-by: Kyle Edwards <kyle.edwards@kitware.com>
show more ...
|
#
51a22f60 |
| 22-Dec-2023 |
Matheus Izvekov |
unix,win: fix busy loop with zero timeout timers (#4250) Calling `uv_timer_start(h, cb, 0, 0)` from a timer callback resulted in the timer running immediately because it was inserted at
unix,win: fix busy loop with zero timeout timers (#4250) Calling `uv_timer_start(h, cb, 0, 0)` from a timer callback resulted in the timer running immediately because it was inserted at the front of the timer heap. If the callback did that every time, libuv would effectively busy-loop in `uv__run_timers()` and never make forward progress. Work around that by collecting all expired timers into a queue and only running their callback afterwards. Fixes: https://github.com/libuv/libuv/issues/4245 Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
#
e135dfe1 |
| 14-Nov-2023 |
Hao Hu <33607772+hhu8@users.noreply.github.com> |
unix,win: utility for setting priority for thread (#4075) Add uv_thread_setpriority for setting priority for threads created by uv_thread_create. Add uv_thread_getpriority for getting th
unix,win: utility for setting priority for thread (#4075) Add uv_thread_setpriority for setting priority for threads created by uv_thread_create. Add uv_thread_getpriority for getting thread priority. For Linux by default, if the scheduling policy is SCHED_OTHER and the priority is 0, we need to set the nice value. Fixes: https://github.com/libuv/libuv/issues/4051
show more ...
|
#
2a4cab70 |
| 29-Sep-2023 |
SmorkalovG |
unix: reset signal counters after fork (#3485) If a signal was received but was not dispatched before fork then caught_signals counter should be reset. Closing of signal pipe makes i
unix: reset signal counters after fork (#3485) If a signal was received but was not dispatched before fork then caught_signals counter should be reset. Closing of signal pipe makes impossible to receive the signal that was counted. There is no need in this signal because it was sent to parent process Fixes: https://github.com/libuv/libuv/issues/3483
show more ...
|
#
c97017dd |
| 14-Aug-2023 |
Kyle Edwards |
win,spawn: allow `%PATH%` to be unset (#4116) Fix: https://github.com/libuv/libuv/issues/4115
|
#
e893cd68 |
| 03-Aug-2023 |
Ben Noordhuis |
unix: set ipv6 scope id for link-local addresses (#4107) Link-local addresses (prefix fe80::/64) don't route unless you specify the network interface to use so make libuv do that.
unix: set ipv6 scope id for link-local addresses (#4107) Link-local addresses (prefix fe80::/64) don't route unless you specify the network interface to use so make libuv do that. Fixes: https://github.com/nodejs/node/issues/48846
show more ...
|
#
55376b04 |
| 25-Jul-2023 |
Ben Noordhuis |
test: enable disabled spawn_same_stdout_stderr (#4105) This test was added in commit e403a2c486 from 2014 but its author forgot to enable it.
|
#
9c1de6e9 |
| 25-Jul-2023 |
Ben Noordhuis |
test: enable disabled fs_link (#4104) This test was added in commit 060026ced from 2011 but its author forgot to actually enable it.
|
#
49d83c03 |
| 25-Jul-2023 |
Ben Noordhuis |
test: enable disabled tcp_connect6_error_fault (#4103) The test was added in commit e3f2631127 from 2011 but it appears the author forgot to add it to the test list. The other t
test: enable disabled tcp_connect6_error_fault (#4103) The test was added in commit e3f2631127 from 2011 but it appears the author forgot to add it to the test list. The other test from that commit was enabled by yours truly in 2012 in 7447048981 but apparently I overlooked the second test as well.
show more ...
|
#
6df5a721 |
| 06-Apr-2023 |
Trevor Norris |
test: add uv_cancel test for threadpool (#4065 2/2) Check that uv_cancel() returns UV_EBUSY when called while the uv_work_cb is being executed.
|
#
24d1d080 |
| 14-Jun-2023 |
Trevor Norris |
src: don't run timers if loop is stopped/unref'd (#4048) The initial run of timers shouldn't happen if uv_stop() has been run before uv_run() was called, and for backwards compatibility
src: don't run timers if loop is stopped/unref'd (#4048) The initial run of timers shouldn't happen if uv_stop() has been run before uv_run() was called, and for backwards compatibility they also shouldn't run if they have been unref'd before calling uv_run().
show more ...
|
#
2f1614b1 |
| 06-Jun-2023 |
Ben Noordhuis |
unix,win: add UV_PIPE_NO_TRUNCATE flag (#4040) Libuv's default behavior is to truncate long Unix socket paths. The flag tells it to return an error instead. Fixes: https://githu
unix,win: add UV_PIPE_NO_TRUNCATE flag (#4040) Libuv's default behavior is to truncate long Unix socket paths. The flag tells it to return an error instead. Fixes: https://github.com/libuv/libuv/issues/4036
show more ...
|
#
8f32a14a |
| 23-May-2023 |
Stefan Karpinski |
fs: use WTF-8 on Windows (#2970) This allows working with valid filenames that are not well-formed UTF-16. This is a superset of UTF-8, which does not error when it encounters an unp
fs: use WTF-8 on Windows (#2970) This allows working with valid filenames that are not well-formed UTF-16. This is a superset of UTF-8, which does not error when it encounters an unpaired surrogate but simply allows it. Fixes: https://github.com/libuv/libuv/issues/2048 Refs: https://simonsapin.github.io/wtf-8/ Replaces: https://github.com/libuv/libuv/pull/2192 by Nikolai Vavilov <vvnicholas@gmail.com> Co-authored-by: Jameson Nash <vtjnash@gmail.com>
show more ...
|
#
07261493 |
| 17-May-2023 |
Santiago Gimeno |
Revert "win: implement uv_try_write() for pipes(#3825 1/2)" This reverts commit 244e0e20592f40fce87d573c9f7b6ff7f189c382. For some reason this is breaking node.js IPC. I plan to inv
Revert "win: implement uv_try_write() for pipes(#3825 1/2)" This reverts commit 244e0e20592f40fce87d573c9f7b6ff7f189c382. For some reason this is breaking node.js IPC. I plan to investigate it but we can let this for the next release.t PR-URL: https://github.com/libuv/libuv/pull/4003
show more ...
|
#
30fc896c |
| 15-May-2023 |
Santiago Gimeno |
unix: handle CQ overflow in iou ring (#3991) When there are more than 128 concurrent cq completions the CQ ring overflows as signaled via the `UV__IORING_SQ_CQ_OVERFLOW`. If this hap
unix: handle CQ overflow in iou ring (#3991) When there are more than 128 concurrent cq completions the CQ ring overflows as signaled via the `UV__IORING_SQ_CQ_OVERFLOW`. If this happens we have to enter the kernel to get the remaining items.
show more ...
|
#
c8a1e613 |
| 27-Apr-2023 |
Ben Noordhuis |
unix,win: add uv_clock_gettime() (#3971) Fixes: https://github.com/libuv/libuv/issues/1674
|
#
e02642cf |
| 17-Apr-2023 |
Trevor Norris |
src: fix events/events_waiting metrics counter (#3957) The worker pool calls all callbacks locally within the queue. So the value of nevents doesn't properly reflect that case. Increase
src: fix events/events_waiting metrics counter (#3957) The worker pool calls all callbacks locally within the queue. So the value of nevents doesn't properly reflect that case. Increase the number of events directly from the worker pool's callback to correct this. In order to properly determine if the events_waiting counter needs to be incremented, store the timeout value at the time the event provider was called.
show more ...
|
#
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 ...
|
#
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 ...
|
Revision tags: v1.41.0, v1.40.0, v1.39.0, v1.38.1, v1.38.0, v1.37.0, v1.36.0, v1.35.0, v1.34.2, v1.34.1, v1.34.0, v1.33.1, v1.33.0, v1.32.0, v1.31.0, v1.30.1, v1.30.0, v1.29.1, v1.29.0, v1.28.0, v1.27.0, v1.26.0, v1.25.0, v1.24.1, v1.24.0, v1.23.2, v1.23.1, v1.23.0, v1.22.0, v1.21.0, v1.20.3, v1.20.2, v1.20.1, v1.20.0, v1.19.2, v1.19.1, v1.19.0, v1.18.0, v1.17.0, v1.16.1, v1.16.0, v1.15.0, v1.14.1, v1.14.0, v1.13.1, v1.13.0, v1.12.0, v1.11.0, v1.10.2, v1.10.1, v1.10.0, v0.10.37 |
|
#
244e0e20 |
| 25-May-2016 |
Ben Noordhuis |
win: implement uv_try_write() for pipes(#3825 1/2)
|
#
c17bd99f |
| 29-Nov-2022 |
Stefan Stojanovic |
win: fix fstat for pipes and character files (#3811) Calling uv_fs_fstat for file types other then disk type was resulting in error on Windows while it was retrieving data on Linux. This
win: fix fstat for pipes and character files (#3811) Calling uv_fs_fstat for file types other then disk type was resulting in error on Windows while it was retrieving data on Linux. This change enables getting fstat for pipes and character files on Windows with data fetched being as reasonable as possible. A simple test is also added to check this behavior on all platforms. It uses stdin, stdout and stderr. uv_fs_fstat needs to pass with disk files pipes and character files (eg. console). Refs: https://github.com/nodejs/node/issues/40006 Co-authored-by: Jameson Nash <vtjnash@gmail.com>
show more ...
|
#
e1415860 |
| 11-Nov-2022 |
Trevor Norris |
src: add new metrics APIs (#3749) The following metrics are now always recorded and available via the new uv_metrics_info() API. * loop_count: Number of event loop iterations.
src: add new metrics APIs (#3749) The following metrics are now always recorded and available via the new uv_metrics_info() API. * loop_count: Number of event loop iterations. * events: Total number of events processed by the event handler. * events_waiting: Total number of events waiting in the event queue when the event provider request was made. Benchmarking has shown no noticeable impact recording these metrics. PR-URL: https://github.com/libuv/libuv/pull/3749
show more ...
|
#
3706c4f8 |
| 09-Nov-2022 |
Santiago Gimeno |
win,pipe: fixes in uv_pipe_connect() Make unices and windows consistent when closing a pipe while it's connecting so they all return `UV_ECANCELED`. Avoid race condition between
win,pipe: fixes in uv_pipe_connect() Make unices and windows consistent when closing a pipe while it's connecting so they all return `UV_ECANCELED`. Avoid race condition between `pipe_connect_thread_proc()` and `uv_close()` when accessing `handle->name`. Fixes: https://github.com/libuv/libuv/issues/3578
show more ...
|
#
dff3f8cc |
| 08-Nov-2022 |
ywave620 <60539365+ywave620@users.noreply.github.com> |
win: optimize udp receive performance (#3807) Do at most 32 nonblocking udp receive in a row. Fixes: https://github.com/libuv/libuv/issues/3704
|