| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent fb2b80f commit 88855e0
65 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,6 +6,7 @@ sphinx: | |||
| 6 | 6 | fail_on_warning: false | |
| 7 | 7 | ||
| 8 | 8 | build: | |
| 9 | + os: "ubuntu-22.04" | ||
| 9 | 10 | tools: | |
| 10 | 11 | python: "3.9" | |
| 11 | 12 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -542,3 +542,9 @@ Lewis Russell <me@lewisr.dev> | |||
| 542 | 542 | sivadeilra <arlie.davis@gmail.com> | |
| 543 | 543 | cui fliter <imcusg@gmail.com> | |
| 544 | 544 | Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> | |
| 545 | + Niklas Mischkulnig <4586894+mischnic@users.noreply.github.com> | ||
| 546 | + Stefan Karpinski <stefan@karpinski.org> | ||
| 547 | + liuxiang88 <94350585+liuxiang88@users.noreply.github.com> | ||
| 548 | + Jeffrey H. Johnson <trnsz@pobox.com> | ||
| 549 | + Abdirahim Musse <33973272+abmusse@users.noreply.github.com> | ||
| 550 | + 小明 <7737673+caobug@users.noreply.github.com> | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,4 +1,63 @@ | |||
| 1 | - 2023.05.19, Version 1.45.0 (Stable) | ||
| 1 | + 2023.06.30, Version 1.46.0 (Stable) | ||
| 2 | + | ||
| 3 | + Changes since version 1.45.0: | ||
| 4 | + | ||
| 5 | + * Add SHA to ChangeLog (Santiago Gimeno) | ||
| 6 | + | ||
| 7 | + * misc: update readthedocs config (Jameson Nash) | ||
| 8 | + | ||
| 9 | + * test: remove erroneous RETURN_SKIP (Ben Noordhuis) | ||
| 10 | + | ||
| 11 | + * android: disable io_uring support (Ben Noordhuis) | ||
| 12 | + | ||
| 13 | + * linux: add some more iouring backed fs ops (Santiago Gimeno) | ||
| 14 | + | ||
| 15 | + * build: add autoconf option for disable-maintainer-mode (Jameson Nash) | ||
| 16 | + | ||
| 17 | + * fs: use WTF-8 on Windows (Stefan Karpinski) | ||
| 18 | + | ||
| 19 | + * unix,win: replace QUEUE with struct uv__queue (Ben Noordhuis) | ||
| 20 | + | ||
| 21 | + * linux: fs_read to use io_uring if iovcnt > IOV_MAX (Santiago Gimeno) | ||
| 22 | + | ||
| 23 | + * ios: fix uv_getrusage() ru_maxrss calculation (Ben Noordhuis) | ||
| 24 | + | ||
| 25 | + * include: update outdated code comment (Ben Noordhuis) | ||
| 26 | + | ||
| 27 | + * linux: support abstract unix sockets (Ben Noordhuis) | ||
| 28 | + | ||
| 29 | + * unix,win: add UV_PIPE_NO_TRUNCATE flag (Ben Noordhuis) | ||
| 30 | + | ||
| 31 | + * unix: add loongarch support (liuxiang88) | ||
| 32 | + | ||
| 33 | + * doc: add DPS8M to LINKS.md (Jeffrey H. Johnson) | ||
| 34 | + | ||
| 35 | + * include: add EUNATCH errno mapping (Abdirahim Musse) | ||
| 36 | + | ||
| 37 | + * src: don't run timers if loop is stopped/unref'd (Trevor Norris) | ||
| 38 | + | ||
| 39 | + * win: fix -Wpointer-to-int-cast warning (Ben Noordhuis) | ||
| 40 | + | ||
| 41 | + * test,win: fix -Wunused-variable warning (Ben Noordhuis) | ||
| 42 | + | ||
| 43 | + * test,win: fix -Wformat warning (Ben Noordhuis) | ||
| 44 | + | ||
| 45 | + * linux: work around io_uring IORING_OP_CLOSE bug (Ben Noordhuis) | ||
| 46 | + | ||
| 47 | + * win: remove unused functions (Ben Noordhuis) | ||
| 48 | + | ||
| 49 | + * bench: add bench to check uv_loop_alive (Trevor Norris) | ||
| 50 | + | ||
| 51 | + * test: add uv_cancel test for threadpool (Trevor Norris) | ||
| 52 | + | ||
| 53 | + * unix: skip prohibited syscalls on tvOS and watchOS (小明) | ||
| 54 | + | ||
| 55 | + * unix,fs: make no_pwritev access thread-safe (Santiago Gimeno) | ||
| 56 | + | ||
| 57 | + * unix: fix build for lower versions of Android (小明) | ||
| 58 | + | ||
| 59 | + | ||
| 60 | + 2023.05.19, Version 1.45.0 (Stable), 96e05543f53b19d9642b4b0dd73b86ad3cea313e | ||
| 2 | 61 | ||
| 3 | 62 | Changes since version 1.44.2: | |
| 4 | 63 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -6,7 +6,8 @@ | |||
| 6 | 6 | * [clearskies_core](https://github.com/larroy/clearskies_core): Clearskies file synchronization program. (C++11) | |
| 7 | 7 | * [CMake](https://cmake.org) open-source, cross-platform family of tools designed to build, test and package software | |
| 8 | 8 | * [Cocos-Engine](https://github.com/cocos/cocos-engine): The runtime framework for Cocos Creator editor. | |
| 9 | - * [Coherence](https://github.com/liesware/coherence/): Cryptographic server for modern web apps. | ||
| 9 | + * [Coherence](https://github.com/liesware/coherence/): Cryptographic server for modern web apps. | ||
| 10 | + * [DPS8M](https://dps8m.gitlab.io): GE ∕ Honeywell ∕ Bull DPS‑8/M and 6180/L68 mainframe simulator. | ||
| 10 | 11 | * [DPS-For-IoT](https://github.com/intel/dps-for-iot/wiki): Fully distributed publish/subscribe protocol. | |
| 11 | 12 | * [HashLink](https://github.com/HaxeFoundation/hashlink): Haxe run-time with libuv support included. | |
| 12 | 13 | * [Haywire](https://github.com/kellabyte/Haywire): Asynchronous HTTP server. | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,12 +13,13 @@ | |||
| 13 | 13 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
| 14 | 14 | ||
| 15 | 15 | AC_PREREQ(2.57) | |
| 16 | - AC_INIT([libuv], [1.45.0], [https://github.com/libuv/libuv/issues]) | ||
| 16 | + AC_INIT([libuv], [1.46.0], [https://github.com/libuv/libuv/issues]) | ||
| 17 | 17 | AC_CONFIG_MACRO_DIR([m4]) | |
| 18 | 18 | m4_include([m4/libuv-extra-automake-flags.m4]) | |
| 19 | 19 | m4_include([m4/as_case.m4]) | |
| 20 | 20 | m4_include([m4/libuv-check-flags.m4]) | |
| 21 | 21 | AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects] UV_EXTRA_AUTOMAKE_FLAGS) | |
| 22 | + AM_MAINTAINER_MODE([enable]) # pass --disable-maintainer-mode if autotools may be unavailable | ||
| 22 | 23 | AC_CANONICAL_HOST | |
| 23 | 24 | AC_ENABLE_SHARED | |
| 24 | 25 | AC_ENABLE_STATIC | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -339,6 +339,9 @@ Error constants | |||
| 339 | 339 | ||
| 340 | 340 | socket type not supported | |
| 341 | 341 | ||
| 342 | + .. c:macro:: UV_EUNATCH | ||
| 343 | + | ||
| 344 | + protocol driver not attached | ||
| 342 | 345 | ||
| 343 | 346 | API | |
| 344 | 347 | --- | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -55,17 +55,61 @@ API | |||
| 55 | 55 | ||
| 56 | 56 | Bind the pipe to a file path (Unix) or a name (Windows). | |
| 57 | 57 | ||
| 58 | + Does not support Linux abstract namespace sockets, | ||
| 59 | + unlike :c:func:`uv_pipe_bind2`. | ||
| 60 | + | ||
| 61 | + Alias for ``uv_pipe_bind2(handle, name, strlen(name), 0)``. | ||
| 62 | + | ||
| 63 | + .. note:: | ||
| 64 | + Paths on Unix get truncated to ``sizeof(sockaddr_un.sun_path)`` bytes, | ||
| 65 | + typically between 92 and 108 bytes. | ||
| 66 | + | ||
| 67 | + .. c:function:: int uv_pipe_bind2(uv_pipe_t* handle, const char* name, size_t namelen, unsigned int flags) | ||
| 68 | + | ||
| 69 | + Bind the pipe to a file path (Unix) or a name (Windows). | ||
| 70 | + | ||
| 71 | + ``flags`` must be zero or ``UV_PIPE_NO_TRUNCATE``. Returns ``UV_EINVAL`` | ||
| 72 | + for unsupported flags without performing the bind operation. | ||
| 73 | + | ||
| 74 | + Supports Linux abstract namespace sockets. ``namelen`` must include | ||
| 75 | + the leading nul byte but not the trailing nul byte. | ||
| 76 | + | ||
| 77 | + .. versionadded:: 1.46.0 | ||
| 78 | + | ||
| 58 | 79 | .. note:: | |
| 59 | - Paths on Unix get truncated to ``sizeof(sockaddr_un.sun_path)`` bytes, typically between | ||
| 60 | - 92 and 108 bytes. | ||
| 80 | + Paths on Unix get truncated to ``sizeof(sockaddr_un.sun_path)`` bytes, | ||
| 81 | + typically between 92 and 108 bytes, unless the ``UV_PIPE_NO_TRUNCATE`` | ||
| 82 | + flag is specified, in which case an ``UV_EINVAL`` error is returned. | ||
| 61 | 83 | ||
| 62 | 84 | .. c:function:: void uv_pipe_connect(uv_connect_t* req, uv_pipe_t* handle, const char* name, uv_connect_cb cb) | |
| 63 | 85 | ||
| 64 | - Connect to the Unix domain socket or the named pipe. | ||
| 86 | + Connect to the Unix domain socket or the Windows named pipe. | ||
| 87 | + | ||
| 88 | + Does not support Linux abstract namespace sockets, | ||
| 89 | + unlike :c:func:`uv_pipe_connect2`. | ||
| 90 | + | ||
| 91 | + Alias for ``uv_pipe_connect2(req, handle, name, strlen(name), 0, cb)``. | ||
| 92 | + | ||
| 93 | + .. note:: | ||
| 94 | + Paths on Unix get truncated to ``sizeof(sockaddr_un.sun_path)`` bytes, | ||
| 95 | + typically between 92 and 108 bytes. | ||
| 96 | + | ||
| 97 | + .. c:function:: void uv_pipe_connect2(uv_connect_t* req, uv_pipe_t* handle, const char* name, size_t namelen, unsigned int flags, uv_connect_cb cb) | ||
| 98 | + | ||
| 99 | + Connect to the Unix domain socket or the Windows named pipe. | ||
| 100 | + | ||
| 101 | + ``flags`` must be zero or ``UV_PIPE_NO_TRUNCATE``. Returns ``UV_EINVAL`` | ||
| 102 | + for unsupported flags without performing the connect operation. | ||
| 103 | + | ||
| 104 | + Supports Linux abstract namespace sockets. ``namelen`` must include | ||
| 105 | + the leading nul byte but not the trailing nul byte. | ||
| 106 | + | ||
| 107 | + .. versionadded:: 1.46.0 | ||
| 65 | 108 | ||
| 66 | 109 | .. note:: | |
| 67 | - Paths on Unix get truncated to ``sizeof(sockaddr_un.sun_path)`` bytes, typically between | ||
| 68 | - 92 and 108 bytes. | ||
| 110 | + Paths on Unix get truncated to ``sizeof(sockaddr_un.sun_path)`` bytes, | ||
| 111 | + typically between 92 and 108 bytes, unless the ``UV_PIPE_NO_TRUNCATE`` | ||
| 112 | + flag is specified, in which case an ``UV_EINVAL`` error is returned. | ||
| 69 | 113 | ||
| 70 | 114 | .. c:function:: int uv_pipe_getsockname(const uv_pipe_t* handle, char* buffer, size_t* size) | |
| 71 | 115 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -59,6 +59,12 @@ extern "C" { | |||
| 59 | 59 | #include <stdio.h> | |
| 60 | 60 | #include <stdint.h> | |
| 61 | 61 | ||
| 62 | + /* Internal type, do not use. */ | ||
| 63 | + struct uv__queue { | ||
| 64 | + struct uv__queue* next; | ||
| 65 | + struct uv__queue* prev; | ||
| 66 | + }; | ||
| 67 | + | ||
| 62 | 68 | #if defined(_WIN32) | |
| 63 | 69 | # include "uv/win.h" | |
| 64 | 70 | #else | |
@@ -150,6 +156,7 @@ extern "C" { | |||
| 150 | 156 | XX(EILSEQ, "illegal byte sequence") \ | |
| 151 | 157 | XX(ESOCKTNOSUPPORT, "socket type not supported") \ | |
| 152 | 158 | XX(ENODATA, "no data available") \ | |
| 159 | + XX(EUNATCH, "protocol driver not attached") \ | ||
| 153 | 160 | ||
| 154 | 161 | #define UV_HANDLE_TYPE_MAP(XX) \ | |
| 155 | 162 | XX(ASYNC, async) \ | |
@@ -283,13 +290,13 @@ UV_EXTERN int uv_loop_init(uv_loop_t* loop); | |||
| 283 | 290 | UV_EXTERN int uv_loop_close(uv_loop_t* loop); | |
| 284 | 291 | /* | |
| 285 | 292 | * NOTE: | |
| 286 | - * This function is DEPRECATED (to be removed after 0.12), users should | ||
| 293 | + * This function is DEPRECATED, users should | ||
| 287 | 294 | * allocate the loop manually and use uv_loop_init instead. | |
| 288 | 295 | */ | |
| 289 | 296 | UV_EXTERN uv_loop_t* uv_loop_new(void); | |
| 290 | 297 | /* | |
| 291 | 298 | * NOTE: | |
| 292 | - * This function is DEPRECATED (to be removed after 0.12). Users should use | ||
| 299 | + * This function is DEPRECATED. Users should use | ||
| 293 | 300 | * uv_loop_close and free the memory manually instead. | |
| 294 | 301 | */ | |
| 295 | 302 | UV_EXTERN void uv_loop_delete(uv_loop_t*); | |
@@ -459,7 +466,7 @@ struct uv_shutdown_s { | |||
| 459 | 466 | uv_handle_type type; \ | |
| 460 | 467 | /* private */ \ | |
| 461 | 468 | uv_close_cb close_cb; \ | |
| 462 | - void* handle_queue[2]; \ | ||
| 469 | + struct uv__queue handle_queue; \ | ||
| 463 | 470 | union { \ | |
| 464 | 471 | int fd; \ | |
| 465 | 472 | void* reserved[4]; \ | |
@@ -801,6 +808,10 @@ inline int uv_tty_set_mode(uv_tty_t* handle, int mode) { | |||
| 801 | 808 | ||
| 802 | 809 | UV_EXTERN uv_handle_type uv_guess_handle(uv_file file); | |
| 803 | 810 | ||
| 811 | + enum { | ||
| 812 | + UV_PIPE_NO_TRUNCATE = 1u << 0 | ||
| 813 | + }; | ||
| 814 | + | ||
| 804 | 815 | /* | |
| 805 | 816 | * uv_pipe_t is a subclass of uv_stream_t. | |
| 806 | 817 | * | |
@@ -817,10 +828,20 @@ struct uv_pipe_s { | |||
| 817 | 828 | UV_EXTERN int uv_pipe_init(uv_loop_t*, uv_pipe_t* handle, int ipc); | |
| 818 | 829 | UV_EXTERN int uv_pipe_open(uv_pipe_t*, uv_file file); | |
| 819 | 830 | UV_EXTERN int uv_pipe_bind(uv_pipe_t* handle, const char* name); | |
| 831 | + UV_EXTERN int uv_pipe_bind2(uv_pipe_t* handle, | ||
| 832 | + const char* name, | ||
| 833 | + size_t namelen, | ||
| 834 | + unsigned int flags); | ||
| 820 | 835 | UV_EXTERN void uv_pipe_connect(uv_connect_t* req, | |
| 821 | 836 | uv_pipe_t* handle, | |
| 822 | 837 | const char* name, | |
| 823 | 838 | uv_connect_cb cb); | |
| 839 | + UV_EXTERN int uv_pipe_connect2(uv_connect_t* req, | ||
| 840 | + uv_pipe_t* handle, | ||
| 841 | + const char* name, | ||
| 842 | + size_t namelen, | ||
| 843 | + unsigned int flags, | ||
| 844 | + uv_connect_cb cb); | ||
| 824 | 845 | UV_EXTERN int uv_pipe_getsockname(const uv_pipe_t* handle, | |
| 825 | 846 | char* buffer, | |
| 826 | 847 | size_t* size); | |
@@ -1849,7 +1870,7 @@ struct uv_loop_s { | |||
| 1849 | 1870 | void* data; | |
| 1850 | 1871 | /* Loop reference counting. */ | |
| 1851 | 1872 | unsigned int active_handles; | |
| 1852 | - void* handle_queue[2]; | ||
| 1873 | + struct uv__queue handle_queue; | ||
| 1853 | 1874 | union { | |
| 1854 | 1875 | void* unused; | |
| 1855 | 1876 | unsigned int count; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -40,16 +40,16 @@ | |||
| 40 | 40 | void* cf_state; \ | |
| 41 | 41 | uv_mutex_t cf_mutex; \ | |
| 42 | 42 | uv_sem_t cf_sem; \ | |
| 43 | - void* cf_signals[2]; \ | ||
| 43 | + struct uv__queue cf_signals; \ | ||
| 44 | 44 | ||
| 45 | 45 | #define UV_PLATFORM_FS_EVENT_FIELDS \ | |
| 46 | 46 | uv__io_t event_watcher; \ | |
| 47 | 47 | char* realpath; \ | |
| 48 | 48 | int realpath_len; \ | |
| 49 | 49 | int cf_flags; \ | |
| 50 | 50 | uv_async_t* cf_cb; \ | |
| 51 | - void* cf_events[2]; \ | ||
| 52 | - void* cf_member[2]; \ | ||
| 51 | + struct uv__queue cf_events; \ | ||
| 52 | + struct uv__queue cf_member; \ | ||
| 53 | 53 | int cf_error; \ | |
| 54 | 54 | uv_mutex_t cf_mutex; \ | |
| 55 | 55 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -468,4 +468,10 @@ | |||
| 468 | 468 | # define UV__ENODATA (-4024) | |
| 469 | 469 | #endif | |
| 470 | 470 | ||
| 471 | + #if defined(EUNATCH) && !defined(_WIN32) | ||
| 472 | + # define UV__EUNATCH UV__ERR(EUNATCH) | ||
| 473 | + #else | ||
| 474 | + # define UV__EUNATCH (-4023) | ||
| 475 | + #endif | ||
| 476 | + | ||
| 471 | 477 | #endif /* UV_ERRNO_H_ */ | |
| Back | FazBrowse Home | New Git URL |
0 commit comments