Merge branch 'libuv:v1.x' into unix-refactor-uv__make_subdirs_p

This commit is contained in:
Levent Kaya 2026-03-18 22:17:47 +03:00 committed by GitHub
commit a8a17df996
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 27 additions and 26 deletions

View File

@ -471,7 +471,7 @@ API
.. c:function:: int uv_fs_realpath(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb) .. c:function:: int uv_fs_realpath(uv_loop_t* loop, uv_fs_t* req, const char* path, uv_fs_cb cb)
Equivalent to :man:`realpath(3)` on Unix. Windows uses `GetFinalPathNameByHandleW <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfinalpathnamebyhandlew>`_. Equivalent to :man:`realpath(3)` on Unix. Windows uses `GetFinalPathNameByHandleW <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-getfinalpathnamebyhandlew>`_.
The resulting string is stored in `req->ptr`. The resulting string is stored in `req->ptr`.
.. warning:: .. warning::
@ -551,7 +551,7 @@ Helper functions
.. c:function:: uv_os_fd_t uv_get_osfhandle(int fd) .. c:function:: uv_os_fd_t uv_get_osfhandle(int fd)
For a file descriptor in the C runtime, get the OS-dependent handle. For a file descriptor in the C runtime, get the OS-dependent handle.
On UNIX, returns the ``fd`` intact. On Windows, this calls `_get_osfhandle <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/get-osfhandle?view=vs-2019>`_. On UNIX, returns the ``fd`` intact. On Windows, this calls `_get_osfhandle <https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/get-osfhandle?view=vs-2019>`_.
Note that the return value is still owned by the C runtime, Note that the return value is still owned by the C runtime,
any attempts to close it or to use it after closing the fd may lead to malfunction. any attempts to close it or to use it after closing the fd may lead to malfunction.
@ -560,7 +560,7 @@ Helper functions
.. c:function:: int uv_open_osfhandle(uv_os_fd_t os_fd) .. c:function:: int uv_open_osfhandle(uv_os_fd_t os_fd)
For a OS-dependent handle, get the file descriptor in the C runtime. For a OS-dependent handle, get the file descriptor in the C runtime.
On UNIX, returns the ``os_fd`` intact. On Windows, this calls `_open_osfhandle <https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/open-osfhandle?view=vs-2019>`_. On UNIX, returns the ``os_fd`` intact. On Windows, this calls `_open_osfhandle <https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/open-osfhandle?view=vs-2019>`_.
Note that this consumes the argument, any attempts to close it or to use it Note that this consumes the argument, any attempts to close it or to use it
after closing the return value may lead to malfunction. after closing the return value may lead to malfunction.
@ -586,7 +586,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_DIRECT` is supported on Linux, and on Windows via `UV_FS_O_DIRECT` is supported on Linux, and on Windows via
`FILE_FLAG_NO_BUFFERING <https://docs.microsoft.com/en-us/windows/win32/fileio/file-buffering>`_. `FILE_FLAG_NO_BUFFERING <https://learn.microsoft.com/en-us/windows/win32/fileio/file-buffering>`_.
`UV_FS_O_DIRECT` is not supported on macOS. `UV_FS_O_DIRECT` is not supported on macOS.
.. c:macro:: UV_FS_O_DIRECTORY .. c:macro:: UV_FS_O_DIRECTORY
@ -603,7 +603,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_DSYNC` is supported on Windows via `UV_FS_O_DSYNC` is supported on Windows via
`FILE_FLAG_WRITE_THROUGH <https://docs.microsoft.com/en-us/windows/win32/fileio/file-buffering>`_. `FILE_FLAG_WRITE_THROUGH <https://learn.microsoft.com/en-us/windows/win32/fileio/file-buffering>`_.
.. c:macro:: UV_FS_O_EXCL .. c:macro:: UV_FS_O_EXCL
@ -670,7 +670,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_RANDOM` is only supported on Windows via `UV_FS_O_RANDOM` is only supported on Windows via
`FILE_FLAG_RANDOM_ACCESS <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_. `FILE_FLAG_RANDOM_ACCESS <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_.
.. c:macro:: UV_FS_O_RDONLY .. c:macro:: UV_FS_O_RDONLY
@ -687,7 +687,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_SEQUENTIAL` is only supported on Windows via `UV_FS_O_SEQUENTIAL` is only supported on Windows via
`FILE_FLAG_SEQUENTIAL_SCAN <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_. `FILE_FLAG_SEQUENTIAL_SCAN <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_.
.. c:macro:: UV_FS_O_SHORT_LIVED .. c:macro:: UV_FS_O_SHORT_LIVED
@ -695,7 +695,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_SHORT_LIVED` is only supported on Windows via `UV_FS_O_SHORT_LIVED` is only supported on Windows via
`FILE_ATTRIBUTE_TEMPORARY <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_. `FILE_ATTRIBUTE_TEMPORARY <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_.
.. c:macro:: UV_FS_O_SYMLINK .. c:macro:: UV_FS_O_SYMLINK
@ -708,7 +708,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_SYNC` is supported on Windows via `UV_FS_O_SYNC` is supported on Windows via
`FILE_FLAG_WRITE_THROUGH <https://docs.microsoft.com/en-us/windows/win32/fileio/file-buffering>`_. `FILE_FLAG_WRITE_THROUGH <https://learn.microsoft.com/en-us/windows/win32/fileio/file-buffering>`_.
.. c:macro:: UV_FS_O_TEMPORARY .. c:macro:: UV_FS_O_TEMPORARY
@ -716,7 +716,7 @@ File open constants
.. note:: .. note::
`UV_FS_O_TEMPORARY` is only supported on Windows via `UV_FS_O_TEMPORARY` is only supported on Windows via
`FILE_ATTRIBUTE_TEMPORARY <https://docs.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_. `FILE_ATTRIBUTE_TEMPORARY <https://learn.microsoft.com/en-us/windows/win32/api/fileapi/nf-fileapi-createfilew>`_.
.. c:macro:: UV_FS_O_TRUNC .. c:macro:: UV_FS_O_TRUNC

View File

@ -23,8 +23,8 @@ the best backend for the job on each platform.
creation/deletion within a directory that is being monitored. creation/deletion within a directory that is being monitored.
See the `IBM Knowledge centre`_ for more details. See the `IBM Knowledge centre`_ for more details.
.. _documentation: https://developer.ibm.com/articles/au-aix_event_infrastructure/ .. _documentation: https://www.ibm.com/docs/en/aix/7.2?topic=management-aix-event-infrastructure-aix-aix-clusters-ahafs
.. _`IBM Knowledge centre`: https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.2.0/com.ibm.zos.v2r1.bpxb100/ioc.htm .. _`IBM Knowledge centre`: https://www.ibm.com/docs/en/zos/2.2.0?topic=SSLTBW_2.2.0/com.ibm.zos.v2r1.bpxb100/ioc.html

View File

@ -67,7 +67,7 @@ There is no need to ``make install``. To build the examples run ``make`` in the
.. _V8: https://v8.dev .. _V8: https://v8.dev
.. _libev: http://software.schmorp.de/pkg/libev.html .. _libev: http://software.schmorp.de/pkg/libev.html
.. _libuv: https://github.com/libuv/libuv .. _libuv: https://github.com/libuv/libuv
.. _node.js: https://www.nodejs.org .. _node.js: https://nodejs.org
.. _libev was removed: https://github.com/joyent/libuv/issues/485 .. _libev was removed: https://github.com/joyent/libuv/issues/485
.. _Rust: https://www.rust-lang.org .. _Rust: https://rust-lang.org/
.. _variety: https://github.com/libuv/libuv/blob/v1.x/LINKS.md .. _variety: https://github.com/libuv/libuv/blob/v1.x/LINKS.md

View File

@ -179,7 +179,7 @@ where ``membership`` is ``UV_JOIN_GROUP`` or ``UV_LEAVE_GROUP``.
The concepts of multicasting are nicely explained in `this guide`_. The concepts of multicasting are nicely explained in `this guide`_.
.. _this guide: https://www.tldp.org/HOWTO/Multicast-HOWTO-2.html .. _this guide: https://tldp.org/HOWTO/Multicast-HOWTO-2.html
Local loopback of multicast packets is enabled by default [#]_, use Local loopback of multicast packets is enabled by default [#]_, use
``uv_udp_set_multicast_loop`` to switch it off. ``uv_udp_set_multicast_loop`` to switch it off.
@ -221,7 +221,7 @@ call ``uv_freeaddrinfo`` in the callback.
libuv also provides the inverse `uv_getnameinfo`_. libuv also provides the inverse `uv_getnameinfo`_.
.. _uv_getnameinfo: http://docs.libuv.org/en/v1.x/dns.html#c.uv_getnameinfo .. _uv_getnameinfo: https://docs.libuv.org/en/v1.x/dns.html#c.uv_getnameinfo
Network interfaces Network interfaces
------------------ ------------------
@ -241,16 +241,16 @@ useful to allow your service to bind to IP addresses when it starts.
interface has multiple IPv4/IPv6 addresses, the name will be reported multiple interface has multiple IPv4/IPv6 addresses, the name will be reported multiple
times, with each address being reported once. times, with each address being reported once.
.. _c-ares: https://c-ares.haxx.se .. _c-ares: https://c-ares.org/
.. _getaddrinfo: https://man7.org/linux/man-pages/man3/getaddrinfo.3.html .. _getaddrinfo: https://man7.org/linux/man-pages/man3/getaddrinfo.3.html
.. _User Datagram Protocol: https://en.wikipedia.org/wiki/User_Datagram_Protocol .. _User Datagram Protocol: https://en.wikipedia.org/wiki/User_Datagram_Protocol
.. _DHCP: https://tools.ietf.org/html/rfc2131 .. _DHCP: https://datatracker.ietf.org/doc/html/rfc2131
---- ----
.. [#] https://beej.us/guide/bgnet/html/#broadcast-packetshello-world .. [#] https://beej.us/guide/bgnet/html/#broadcast-packetshello-world
.. [#] https://www.tldp.org/HOWTO/Multicast-HOWTO-6.html#ss6.1 .. [#] https://tldp.org/HOWTO/Multicast-HOWTO-6.html#ss6.1
.. [#] libuv use the system ``getaddrinfo`` in the libuv threadpool. libuv .. [#] libuv use the system ``getaddrinfo`` in the libuv threadpool. libuv
v0.8.0 and earlier also included c-ares_ as an alternative, but this has been v0.8.0 and earlier also included c-ares_ as an alternative, but this has been
removed in v0.9.0. removed in v0.9.0.

View File

@ -135,7 +135,7 @@ Signals
------- -------
libuv provides wrappers around Unix signals with `some Windows support libuv provides wrappers around Unix signals with `some Windows support
<http://docs.libuv.org/en/v1.x/signal.html#signal>`_ as well. <https://docs.libuv.org/en/v1.x/signal.html#signal>`_ as well.
Use ``uv_signal_init()`` to initialize Use ``uv_signal_init()`` to initialize
a handle and associate it with a loop. To listen for particular signals on a handle and associate it with a loop. To listen for particular signals on
@ -282,7 +282,7 @@ communicate with IPC. This is discussed below.
.. _mkfifo(1): https://man7.org/linux/man-pages/man1/mkfifo.1.html .. _mkfifo(1): https://man7.org/linux/man-pages/man1/mkfifo.1.html
.. _socketpair(2): https://man7.org/linux/man-pages/man2/socketpair.2.html .. _socketpair(2): https://man7.org/linux/man-pages/man2/socketpair.2.html
.. _Unix Domain Socket: https://man7.org/linux/man-pages/man7/unix.7.html .. _Unix Domain Socket: https://man7.org/linux/man-pages/man7/unix.7.html
.. _Named Pipe: https://docs.microsoft.com/en-us/windows/win32/ipc/named-pipes .. _Named Pipe: https://learn.microsoft.com/en-us/windows/win32/ipc/named-pipes
Arbitrary process IPC Arbitrary process IPC

View File

@ -183,7 +183,7 @@ After all threads are done, ``i == 1``.
libuv v0.11.11 onwards also added a ``uv_key_t`` struct and api_ for libuv v0.11.11 onwards also added a ``uv_key_t`` struct and api_ for
thread-local storage. thread-local storage.
.. _api: http://docs.libuv.org/en/v1.x/threading.html#thread-local-storage .. _api: https://docs.libuv.org/en/v1.x/threading.html#thread-local-storage
libuv work queue libuv work queue
---------------- ----------------

View File

@ -213,8 +213,8 @@ download files. Rather than give all control to libcurl, we'll instead be
using the libuv event loop, and use the non-blocking, async multi_ interface to using the libuv event loop, and use the non-blocking, async multi_ interface to
progress with the download whenever libuv notifies of I/O readiness. progress with the download whenever libuv notifies of I/O readiness.
.. _libcurl: https://curl.haxx.se/libcurl/ .. _libcurl: https://curl.se/libcurl/
.. _multi: https://curl.haxx.se/libcurl/c/libcurl-multi.html .. _multi: https://curl.se/libcurl/c/libcurl-multi.html
.. rubric:: uvwget/main.c - The setup .. rubric:: uvwget/main.c - The setup
.. literalinclude:: ../../code/uvwget/main.c .. literalinclude:: ../../code/uvwget/main.c
@ -390,7 +390,7 @@ It is then best to use ``uv_tty_set_mode`` to set the mode to *normal*
which enables most TTY formatting, flow-control and other settings. Other_ modes which enables most TTY formatting, flow-control and other settings. Other_ modes
are also available. are also available.
.. _Other: http://docs.libuv.org/en/v1.x/tty.html#c.uv_tty_mode_t .. _Other: https://docs.libuv.org/en/v1.x/tty.html#c.uv_tty_mode_t
Remember to call ``uv_tty_reset_mode`` when your program exits to restore the Remember to call ``uv_tty_reset_mode`` when your program exits to restore the
state of the terminal. Just good manners. Another set of good manners is to be state of the terminal. Just good manners. Another set of good manners is to be
@ -444,7 +444,8 @@ can try `ncurses`_.
.. [#] I was first introduced to the term baton in this context, in Konstantin .. [#] I was first introduced to the term baton in this context, in Konstantin
Käfer's excellent slides on writing node.js bindings -- Käfer's excellent slides on writing node.js bindings --
https://kkaefer.com/node-cpp-modules/#baton https://kkaefer.github.io/node-cpp-modules/#baton
(`video <https://youtu.be/GajiVsJwSkY?list=PL37ZVnwpeshEVYiRemhMII6ORJmsJuqP7&t=1009>`_)
.. [#] mfp is My Fancy Plugin .. [#] mfp is My Fancy Plugin
.. _libev man page: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMMON_OR_USEFUL_IDIOMS_OR_BOTH .. _libev man page: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#COMMON_OR_USEFUL_IDIOMS_OR_BOTH