Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion deps/uv/.readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ version: 2

sphinx:
builder: html
configuration: null
configuration: docs/src/conf.py
fail_on_warning: false

build:
Expand Down
12 changes: 12 additions & 0 deletions deps/uv/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -592,3 +592,15 @@ Thad House <ThadHouse@users.noreply.github.com>
Julian A Avar C <28635807+julian-a-avar-c@users.noreply.github.com>
amcgoogan <105525867+amcgoogan@users.noreply.github.com>
Rafael Gonzaga <rafael.nunu@hotmail.com>
Morten Engelhardt Olsen <moro.engelhardt@gmail.com>
Andrey <bag@zurbagan.org>
Julio Jordán <juliojjordanp@outlook.com>
Jinho Jang <verycosy@kakao.com>
Velikiy Kirill <kuklix@ya.ru>
rainlow <37818892+rainlow@users.noreply.github.com>
Paolo Insogna <paolo@cowtech.it>
Robert Nagy <robert@openbsd.org>
mugitya03 <mugitya233@outlook.com>
Itay Bookstein <ibookstein@gmail.com>
crupest <crupest@outlook.com>
AE1020 <68134252+AE1020@users.noreply.github.com>
4 changes: 3 additions & 1 deletion deps/uv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ include(CTest)
set(CMAKE_C_VISIBILITY_PRESET hidden)
set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_C_EXTENSIONS ON)
set(CMAKE_C_STANDARD 90)
set(CMAKE_C_STANDARD 11)

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

Expand Down Expand Up @@ -434,6 +434,7 @@ endif()

if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
list(APPEND uv_test_libraries util)
list(APPEND uv_libraries m)
endif()

if(CYGWIN OR MSYS)
Expand Down Expand Up @@ -583,6 +584,7 @@ if(LIBUV_BUILD_TESTS)
test/test-loop-close.c
test/test-loop-configure.c
test/test-loop-handles.c
test/test-loop-oom.c
test/test-loop-stop.c
test/test-loop-time.c
test/test-metrics.c
Expand Down
92 changes: 91 additions & 1 deletion deps/uv/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,4 +1,94 @@
2025.01.15, Version 1.50.0 (Stable)
2025.04.25, Version 1.51.0 (Stable)

Changes since version 1.50.0:

* win: fix leak in uv_os_tmpdir (Saúl Ibarra Corretgé)

* docs: fix RTD build (Saúl Ibarra Corretgé)

* win: lazy-load [GS]etThreadDescription symbols (Ben Noordhuis)

* linux: try preadv64/pwritev64 before preadv/pwritev (Ben Noordhuis)

* win: check cwd length before spawning a child process (Morten Engelhardt
Olsen)

* macos,bsd: handle missing /dev/null in chroot env (Andrey)

* doc: fix README link text (Julio Jordán)

* win: fix order of FILE_STAT_BASIC_INFORMATION struct fields (Hüseyin Açacak)

* macos: increase child process stdio buffer size (Jinho Jang)

* doc: add C3 bindings to LINKS.md (Velikiy Kirill)

* unix: remove unnecessary errno.h include in poll.c (Juan José Arboleda)

* win: fix the inconsistency in volume serial number (Hüseyin Açacak)

* unix: add thread affinity support on openharmony (rainlow)

* unix: enable getrusage for SunOS (Paolo Insogna)

* unix,win: accept NAN/INFINITY as file timestamps (Ben Noordhuis)

* win: add ENABLE_VIRTUAL_TERMINAL_INPUT raw tty mode (Anna Henningsen)

* test: handle UV_ENOTSUP in platform_output (cjihrig)

* doc: fix rendering of threading.html (Tobias Nießen)

* unix,sunos: enable use of sendmmsg on Solaris and Illumos (Stacey Marshall)

* unix: handle out of memory in iface name copy (Ben Noordhuis)

* openbsd: do not error out if cpuspeed is not available (Robert Nagy)

* test: skip thread_name_threadpool on AIX/IBMi (Abdirahim Musse)

* aix,ibmi: fix undeclared identifiers (Richard Lau)

* unix,sunos: prefer SO_REUSEPORT for load balancing (Stacey Marshall)

* doc: free lib pointer before function return (mugitya03)

* test: link with libm (Juan José Arboleda)

* style: rename parameter to match definition (Mohammed Keyvanzadeh)

* test: support partial output lines in test runner (cjihrig)

* build: switch from c90 to c11 (Ben Noordhuis)

* linux: allow nul bytes in abstract socket address (Itay Bookstein)

* sunos: use pipe2 on solaris and illumos (Andy Pan)

* unix: remove TOCTOU issues from uv_pipe_chmod (Ben Noordhuis)

* unix: use pipe_fname if getsockname returns nothing (crupest)

* haiku: use uint32 instead of uint32_t (AE1020)

* doc: update thread pool stack size comment (Ben Noordhuis)

* unix: improve uv_loop_init OOM handling (Ben Noordhuis)

* test: merge uv_tcp_connect callbacks (Juan José Arboleda)

* test: skip multievent tests on macOS with TSAN enabled (Juan José Arboleda)

* linux: align CPU quota calculation with Rust (Juan José Arboleda)

* kqueue: improve fs event watcher OOM handling (Juan José Arboleda)

* sunos: improve fs event watcher OOM handling (Juan José Arboleda)

* build: shorten instructions for cmake build (Juan José Arboleda)


2025.01.15, Version 1.50.0 (Stable), 8fb9cb919489a48880680a56efecff6a7dfb4504

Changes since version 1.49.2:

Expand Down
2 changes: 2 additions & 0 deletions deps/uv/LINKS.md
Original file line number Diff line number Diff line change
Expand Up @@ -108,3 +108,5 @@
* [node.pas](https://github.com/vovach777/node.pas) NodeJS-like ecosystem
* Haskell
* [Z.Haskell](https://z.haskell.world)
* C3
* [libuv.c3l](https://github.com/velikoss/libuv.c3l)
5 changes: 3 additions & 2 deletions deps/uv/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -206,12 +206,13 @@ test_run_tests_SOURCES = test/blackhole-server.c \
test/test-ipc-send-recv.c \
test/test-ipc.c \
test/test-list.h \
test/test-loop-handles.c \
test/test-loop-alive.c \
test/test-loop-close.c \
test/test-loop-configure.c \
test/test-loop-handles.c \
test/test-loop-oom.c \
test/test-loop-stop.c \
test/test-loop-time.c \
test/test-loop-configure.c \
test/test-metrics.c \
test/test-multiple-listen.c \
test/test-mutexes.c \
Expand Down
4 changes: 1 addition & 3 deletions deps/uv/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,7 @@ $ make install
To build with [CMake][]:

```bash
$ mkdir -p build

$ (cd build && cmake .. -DBUILD_TESTING=ON) # generate project with tests
$ cmake -B build -DBUILD_TESTING=ON # generate project with tests
$ cmake --build build # add `-j <n>` with cmake >= 3.12

# Run tests:
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/SUPPORTED_PLATFORMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
|---|---|---|---|
| GNU/Linux | Tier 1 | Linux >= 3.10 with glibc >= 2.17 | |
| macOS | Tier 1 | macOS >= 11 | Currently supported macOS releases |
| Windows | Tier 1 | >= Windows 10 | VS 2015 and later are supported |
| Windows | Tier 1 | >= Windows 10 | VS 2017 and later are supported |
| FreeBSD | Tier 2 | >= 12 | |
| AIX | Tier 2 | >= 6 | Maintainers: @libuv/aix |
| IBM i | Tier 2 | >= IBM i 7.2 | Maintainers: @libuv/ibmi |
Expand Down
4 changes: 2 additions & 2 deletions deps/uv/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

AC_PREREQ(2.57)
AC_INIT([libuv], [1.50.0], [https://github.com/libuv/libuv/issues])
AC_INIT([libuv], [1.51.0], [https://github.com/libuv/libuv/issues])
AC_CONFIG_MACRO_DIR([m4])
m4_include([m4/libuv-extra-automake-flags.m4])
m4_include([m4/as_case.m4])
Expand All @@ -33,7 +33,7 @@ CC_ATTRIBUTE_VISIBILITY([default], [
# we exclude -fno-strict-aliasing for xlc
CC_CHECK_FLAG_SUPPORTED_APPEND([-fno-strict-aliasing])
CC_CHECK_CFLAGS_APPEND([-g])
CC_CHECK_CFLAGS_APPEND([-std=gnu89])
CC_CHECK_CFLAGS_APPEND([-std=gnu11])
CC_CHECK_CFLAGS_APPEND([-Wall])
CC_CHECK_CFLAGS_APPEND([-Wextra])
CC_CHECK_CFLAGS_APPEND([-Wno-long-long])
Expand Down
6 changes: 6 additions & 0 deletions deps/uv/docs/src/fs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -430,6 +430,12 @@ API

Equivalent to :man:`utime(2)`, :man:`futimes(3)` and :man:`lutimes(3)` respectively.

Passing `UV_FS_UTIME_NOW` as the atime or mtime sets the timestamp to the
current time.

Passing `UV_FS_UTIME_OMIT` as the atime or mtime leaves the timestamp
untouched.

.. note::
z/OS: `uv_fs_lutime()` is not implemented for z/OS. It can still be called but will return
``UV_ENOSYS``.
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/docs/src/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,5 +58,5 @@ libuv can be downloaded from `here <https://dist.libuv.org/dist/>`_.
Installation
------------

Installation instructions can be found in `the README <https://github.com/libuv/libuv/blob/master/README.md>`_.
Installation instructions can be found in the `README <https://github.com/libuv/libuv/blob/master/README.md>`_.

7 changes: 7 additions & 0 deletions deps/uv/docs/src/threading.rst
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,8 @@ Threads
a thread name can be: Linux, IBM i (16), macOS (64), Windows (32767), and NetBSD (32), etc. `uv_thread_setname()`
will truncate it in case `name` is larger than the limit of the platform.

Not supported on Windows Server 2016, returns `UV_ENOSYS`.

.. versionadded:: 1.50.0

.. c:function:: int uv_thread_getname(uv_thread_t* tid, char* name, size_t* size)
Expand All @@ -155,17 +157,22 @@ Threads
The buffer should be large enough to hold the name of the thread plus the trailing NUL, or it will be truncated to fit
with the trailing NUL.

Not supported on Windows Server 2016, returns `UV_ENOSYS`.

.. versionadded:: 1.50.0

.. c:function:: int uv_thread_setpriority(uv_thread_t tid, int priority)

If the function succeeds, the return value is 0.
If the function fails, the return value is less than zero.
Sets the scheduling priority of the thread specified by tid. It requires elevated
privilege to set specific priorities on some platforms.
The priority can be set to the following constants. UV_THREAD_PRIORITY_HIGHEST,
UV_THREAD_PRIORITY_ABOVE_NORMAL, UV_THREAD_PRIORITY_NORMAL,
UV_THREAD_PRIORITY_BELOW_NORMAL, UV_THREAD_PRIORITY_LOWEST.

.. c:function:: int uv_thread_getpriority(uv_thread_t tid, int* priority)

If the function succeeds, the return value is 0.
If the function fails, the return value is less than zero.
Retrieves the scheduling priority of the thread specified by tid. The value in the
Expand Down
6 changes: 3 additions & 3 deletions deps/uv/docs/src/threadpool.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ is 1024).
.. versionchanged:: 1.50.0 threads now have a default name of libuv-worker.

The threadpool is global and shared across all event loops. When a particular
function makes use of the threadpool (i.e. when using :c:func:`uv_queue_work`)
function makes use of the threadpool (e.g. when using :c:func:`uv_queue_work`)
libuv preallocates and initializes the maximum number of threads allowed by
``UV_THREADPOOL_SIZE``. This causes a relatively minor memory overhead
(~1MB for 128 threads) but increases the performance of threading at runtime.
``UV_THREADPOOL_SIZE``. More threads usually means more throughput but a higher
memory footprint. Thread stacks grow lazily on most platforms though.

.. note::
Note that even though a global thread pool which is shared across all events
Expand Down
9 changes: 7 additions & 2 deletions deps/uv/docs/src/tty.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,15 @@ Data types
typedef enum {
/* Initial/normal terminal mode */
UV_TTY_MODE_NORMAL,
/* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */
/*
* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled).
* May become equivalent to UV_TTY_MODE_RAW_VT in future libuv versions.
*/
UV_TTY_MODE_RAW,
/* Binary-safe I/O mode for IPC (Unix-only) */
UV_TTY_MODE_IO
UV_TTY_MODE_IO,
/* Raw input mode. On Windows ENABLE_VIRTUAL_TERMINAL_INPUT is also set. */
UV_TTY_MODE_RAW_VT
} uv_tty_mode_t;

.. c:enum:: uv_tty_vtermstate_t
Expand Down
12 changes: 10 additions & 2 deletions deps/uv/include/uv.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ extern "C" {
#include <stddef.h>
#include <stdio.h>
#include <stdint.h>
#include <math.h>

/* Internal type, do not use. */
struct uv__queue {
Expand Down Expand Up @@ -805,10 +806,15 @@ struct uv_tty_s {
typedef enum {
/* Initial/normal terminal mode */
UV_TTY_MODE_NORMAL,
/* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled) */
/*
* Raw input mode (On Windows, ENABLE_WINDOW_INPUT is also enabled).
* May become equivalent to UV_TTY_MODE_RAW_VT in future libuv versions.
*/
UV_TTY_MODE_RAW,
/* Binary-safe I/O mode for IPC (Unix-only) */
UV_TTY_MODE_IO
UV_TTY_MODE_IO,
/* Raw input mode. On Windows ENABLE_VIRTUAL_TERMINAL_INPUT is also set. */
UV_TTY_MODE_RAW_VT
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fyi, this bit is why I care and have told the bot to open this PR. I plan to use this to (unconditionally) replace UV_TTY_MODE_RAW usage in Node.js in a follow-up PR, since Node.js's readline implementation already handles the differences between the two, so this would strictly be an improvement and makes e.g. #47150 available on Windows.

} uv_tty_mode_t;

typedef enum {
Expand Down Expand Up @@ -1585,6 +1591,8 @@ UV_EXTERN int uv_fs_chmod(uv_loop_t* loop,
const char* path,
int mode,
uv_fs_cb cb);
#define UV_FS_UTIME_NOW (INFINITY)
#define UV_FS_UTIME_OMIT (NAN)
UV_EXTERN int uv_fs_utime(uv_loop_t* loop,
uv_fs_t* req,
const char* path,
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/include/uv/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
*/

#define UV_VERSION_MAJOR 1
#define UV_VERSION_MINOR 50
#define UV_VERSION_MINOR 51
#define UV_VERSION_PATCH 0
#define UV_VERSION_IS_RELEASE 1
#define UV_VERSION_SUFFIX ""
Expand Down
7 changes: 5 additions & 2 deletions deps/uv/include/uv/win.h
Original file line number Diff line number Diff line change
Expand Up @@ -499,8 +499,11 @@ typedef struct {
union { \
struct { \
/* Used for readable TTY handles */ \
/* TODO: remove me in v2.x. */ \
HANDLE unused_; \
union { \
/* TODO: remove me in v2.x. */ \
HANDLE unused_; \
int mode; \
} mode; \
uv_buf_t read_line_buffer; \
HANDLE read_raw_wait; \
/* Fields used for translating win keystrokes into vt100 characters */ \
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/src/fs-poll.c
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ struct poll_ctx {
static int statbuf_eq(const uv_stat_t* a, const uv_stat_t* b);
static void poll_cb(uv_fs_t* req);
static void timer_cb(uv_timer_t* timer);
static void timer_close_cb(uv_handle_t* handle);
static void timer_close_cb(uv_handle_t* timer);

static uv_stat_t zero_statbuf;

Expand Down
Loading
Loading