Skip to content

Commit 02ca5d7

Browse files
cjihrigtargos
authored andcommitted
deps: upgrade to libuv 1.43.0
Notable changes: - `uv_ip_name()` has been added. - On Windows, `uv_fs_read()` and `uv_fs_write()` now return `UV_EBADF` instead of `UV_EPERM` when the file descriptor was opened with incorrect flags. This matches the behavior on other platforms. - Streams can be reset and attempted to read from after EOF is read. - The main thread now has a valid ID instead of `NULL`. - `uv_cpu_info()` now supports `aarch64`. - Several minor issues related to mingw32 have been fixed. PR-URL: #41398 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Luigi Pinca <[email protected]> Reviewed-By: Tobias Nießen <[email protected]> Reviewed-By: Mohammed Keyvanzadeh <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Beth Griggs <[email protected]> Reviewed-By: Anna Henningsen <[email protected]>
1 parent 583f8d9 commit 02ca5d7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+985
-608
lines changed

deps/uv/.mailmap

+4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
A. Hauptmann <[email protected]>
2+
23
34
45
@@ -12,6 +13,7 @@ Brian White <[email protected]> <[email protected]>
1213
Caleb James DeLisle <[email protected]> <[email protected]>
1314
Christoph Iserlohn <[email protected]>
1415
Darshan Sen <[email protected]>
16+
1517
David Carlier <[email protected]>
1618
Devchandra Meetei Leishangthem <[email protected]>
1719
@@ -21,6 +23,7 @@ Isaac Z. Schlueter <[email protected]>
2123
Jason Williams <[email protected]>
2224
Jesse Gorzinski <[email protected]>
2325
26+
Juan José Arboleda <[email protected]>
2427
2528
2629
@@ -46,6 +49,7 @@ Santiago Gimeno <[email protected]> <[email protected]>
4649
Saúl Ibarra Corretgé <[email protected]>
4750
Saúl Ibarra Corretgé <[email protected]> <[email protected]>
4851
52+
Shuowang (Wayne) Zhang <[email protected]>
4953
5054
Timothy J. Fontaine <[email protected]>
5155
Yasuhiro Matsumoto <[email protected]>

deps/uv/AUTHORS

+17
Original file line numberDiff line numberDiff line change
@@ -479,3 +479,20 @@ Joshua M. Clulow <[email protected]>
479479
Guilherme Íscaro <[email protected]>
480480
Martin Storsjö <[email protected]>
481481
Claes Nästén <[email protected]>
482+
Mohamed Edrah <[email protected]>
483+
Supragya Raj <[email protected]>
484+
Ikko Ashimine <[email protected]>
485+
Sylvain Corlay <[email protected]>
486+
487+
YAKSH BARIYA <[email protected]>
488+
489+
~locpyl-tidnyd <[email protected]>
490+
Evan Miller <[email protected]>
491+
Petr Menšík <[email protected]>
492+
Nicolas Noble <[email protected]>
493+
AJ Heller <[email protected]>
494+
Stacey Marshall <[email protected]>
495+
Jesper Storm Bache <[email protected]>
496+
Campbell He <[email protected]>
497+
Andrey Hohutkin <[email protected]>
498+

deps/uv/CMakeLists.txt

+49-38
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,26 @@ if(QEMU)
3131
endif()
3232

3333
option(ASAN "Enable AddressSanitizer (ASan)" OFF)
34-
if(ASAN AND CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang")
34+
option(TSAN "Enable ThreadSanitizer (TSan)" OFF)
35+
36+
if((ASAN OR TSAN) AND NOT (CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang"))
37+
message(SEND_ERROR "Sanitizer support requires clang or gcc. Try again with -DCMAKE_C_COMPILER.")
38+
endif()
39+
40+
if(ASAN)
3541
add_definitions(-D__ASAN__=1)
36-
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
37-
set (CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
42+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
43+
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
3844
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
3945
endif()
4046

47+
if(TSAN)
48+
add_definitions(-D__TSAN__=1)
49+
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-omit-frame-pointer -fsanitize=thread")
50+
set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread")
51+
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=thread")
52+
endif()
53+
4154
# Compiler check
4255
string(CONCAT is-msvc $<OR:
4356
$<C_COMPILER_ID:MSVC>,
@@ -418,7 +431,6 @@ if(LIBUV_BUILD_TESTS)
418431
test/benchmark-thread.c
419432
test/benchmark-udp-pummel.c
420433
test/blackhole-server.c
421-
test/dns-server.c
422434
test/echo-server.c
423435
test/run-benchmarks.c
424436
test/runner.c)
@@ -477,6 +489,7 @@ if(LIBUV_BUILD_TESTS)
477489
test/test-idna.c
478490
test/test-ip4-addr.c
479491
test/test-ip6-addr.c
492+
test/test-ip-name.c
480493
test/test-ipc-heavy-traffic-deadlock-bug.c
481494
test/test-ipc-send-recv.c
482495
test/test-ipc.c
@@ -490,7 +503,6 @@ if(LIBUV_BUILD_TESTS)
490503
test/test-multiple-listen.c
491504
test/test-mutexes.c
492505
test/test-not-readable-nor-writable-on-read-error.c
493-
test/test-not-readable-on-eof.c
494506
test/test-not-writable-after-shutdown.c
495507
test/test-osx-select.c
496508
test/test-pass-always.c
@@ -518,6 +530,7 @@ if(LIBUV_BUILD_TESTS)
518530
test/test-process-title.c
519531
test/test-queue-foreach-delete.c
520532
test/test-random.c
533+
test/test-readable-on-eof.c
521534
test/test-ref.c
522535
test/test-run-nowait.c
523536
test/test-run-once.c
@@ -574,6 +587,7 @@ if(LIBUV_BUILD_TESTS)
574587
test/test-udp-alloc-cb-fail.c
575588
test/test-udp-bind.c
576589
test/test-udp-connect.c
590+
test/test-udp-connect6.c
577591
test/test-udp-create-socket-early.c
578592
test/test-udp-dgram-too-big.c
579593
test/test-udp-ipv6.c
@@ -625,46 +639,43 @@ if(LIBUV_BUILD_TESTS)
625639
endif()
626640
endif()
627641

628-
if(UNIX OR MINGW)
629-
# Now for some gibbering horrors from beyond the stars...
630-
foreach(lib IN LISTS uv_libraries)
631-
list(APPEND LIBS "-l${lib}")
632-
endforeach()
633-
string(REPLACE ";" " " LIBS "${LIBS}")
634-
# Consider setting project version via project() call?
635-
file(STRINGS configure.ac configure_ac REGEX ^AC_INIT)
636-
string(REGEX MATCH "([0-9]+)[.][0-9]+[.][0-9]+" PACKAGE_VERSION "${configure_ac}")
637-
set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}")
638-
# The version in the filename is mirroring the behaviour of autotools.
639-
set_target_properties(uv PROPERTIES
640-
VERSION ${UV_VERSION_MAJOR}.0.0
641-
SOVERSION ${UV_VERSION_MAJOR})
642-
set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
643-
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
644-
set(prefix ${CMAKE_INSTALL_PREFIX})
645-
configure_file(libuv.pc.in libuv.pc @ONLY)
646-
configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
647-
648-
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
649-
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
650-
install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc
651-
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
652-
install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
653-
install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
654-
endif()
642+
# Now for some gibbering horrors from beyond the stars...
643+
foreach(lib IN LISTS uv_libraries)
644+
list(APPEND LIBS "-l${lib}")
645+
endforeach()
646+
string(REPLACE ";" " " LIBS "${LIBS}")
647+
# Consider setting project version via project() call?
648+
file(STRINGS configure.ac configure_ac REGEX ^AC_INIT)
649+
string(REGEX MATCH "([0-9]+)[.][0-9]+[.][0-9]+" PACKAGE_VERSION "${configure_ac}")
650+
set(UV_VERSION_MAJOR "${CMAKE_MATCH_1}")
651+
# The version in the filename is mirroring the behaviour of autotools.
652+
set_target_properties(uv PROPERTIES
653+
VERSION ${UV_VERSION_MAJOR}.0.0
654+
SOVERSION ${UV_VERSION_MAJOR})
655+
set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
656+
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
657+
set(prefix ${CMAKE_INSTALL_PREFIX})
658+
configure_file(libuv.pc.in libuv.pc @ONLY)
659+
configure_file(libuv-static.pc.in libuv-static.pc @ONLY)
660+
661+
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
662+
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
663+
install(FILES ${PROJECT_BINARY_DIR}/libuv.pc ${PROJECT_BINARY_DIR}/libuv-static.pc
664+
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
665+
install(TARGETS uv EXPORT libuvConfig
666+
RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR}
667+
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
668+
install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
669+
install(EXPORT libuvConfig DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/libuv)
655670

656671
if(MSVC)
657-
install(DIRECTORY include/ DESTINATION include)
658-
install(FILES LICENSE DESTINATION .)
659-
install(TARGETS uv uv_a
660-
RUNTIME DESTINATION lib/$<CONFIG>
661-
ARCHIVE DESTINATION lib/$<CONFIG>)
672+
set(CMAKE_DEBUG_POSTFIX d)
662673
endif()
663674

664675
message(STATUS "summary of build options:
665676
Install prefix: ${CMAKE_INSTALL_PREFIX}
666677
Target system: ${CMAKE_SYSTEM_NAME}
667678
Compiler:
668-
C compiler: ${CMAKE_C_COMPILER}
679+
C compiler: ${CMAKE_C_COMPILER} (${CMAKE_C_COMPILER_ID})
669680
CFLAGS: ${CMAKE_C_FLAGS_${_build_type}} ${CMAKE_C_FLAGS}
670681
")

deps/uv/ChangeLog

+90-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,93 @@
1-
2021.07.21, Version 1.42.0 (Stable)
1+
2022.01.05, Version 1.43.0 (Stable), 988f2bfc4defb9a85a536a3e645834c161143ee0
2+
3+
Changes since version 1.42.0:
4+
5+
* run test named ip6_sin6_len (Jameson Nash)
6+
7+
* docs: fix wrong information about scheduling (Mohamed Edrah)
8+
9+
* unix: protect fork in uv_spawn from signals (Jameson Nash)
10+
11+
* drop only successfully sent packets post sendmmsg (Supragya Raj)
12+
13+
* test: fix typo in test-tty-escape-sequence-processing.c (Ikko Ashimine)
14+
15+
* cmake: use standard installation layout always (Sylvain Corlay)
16+
17+
* win,spawn: allow UNC path with forward slash (earnal)
18+
19+
* win,fsevent: fix uv_fs_event_stop() assert (Ben Noordhuis)
20+
21+
* unix: remove redundant include in unix.h (
22+
23+
* doc: mark SmartOS as Tier 3 support (
24+
25+
* doc: fix broken links for netbsd's sysctl manpage (
26+
27+
* misc: adjust stalebot deadline (
28+
29+
* test: remove `dns-server.c` as it is not used anywhere (
30+
31+
* build: fix non-cmake android builds (
32+
33+
* doc: replace pyuv with uvloop (
34+
35+
* asan: fix some tests (
36+
37+
* build: add experimental TSAN configuration (
38+
39+
* pipe: remove useless assertion (
40+
41+
* bsd: destroy mutex in uv__process_title_cleanup() (
42+
43+
* build: add windows build to CI (
44+
45+
* win,fs: fix error code in uv_fs_read() and uv_fs_write() ( Sen)
46+
47+
* build: add macos-latest to ci matrix (
48+
49+
* udp: fix &/&& typo in macro condition (
50+
51+
* build: install cmake package module (Petr Menšík)
52+
53+
* win: fix build for mingw32 (
54+
55+
* build: fix build failures with MinGW new headers (erw7)
56+
57+
* build: fix win build with cmake versions before v3.14 (
58+
59+
* unix: support aarch64 in uv_cpu_info() (
60+
61+
* linux: work around CIFS EPERM bug (
62+
63+
* sunos: Oracle Developer Studio support (
64+
65+
* Revert "sunos: Oracle Developer Studio support (
66+
67+
* sunos: Oracle Developer Studio support (
68+
69+
* stream: permit read after seeing EOF (
70+
71+
* thread: initialize uv_thread_self for all threads (
72+
73+
* kqueue: ignore write-end closed notifications (
74+
75+
* macos: fix the cfdata length in uv__get_cpu_speed ( Bache)
76+
77+
* unix,win: add uv_ip_name to get name from sockaddr (
78+
79+
* win,test: fix a few typos (AJ Heller)
80+
81+
* zos: use destructor for uv__threadpool_cleanup() ( Zhang)
82+
83+
* linux: use MemAvailable instead of MemFree (
84+
85+
* freebsd: call dlerror() only if necessary (
86+
87+
* bsd,windows,zos: fix udp disconnect EINVAL (
88+
89+
90+
2021.07.21, Version 1.42.0 (Stable), 6ce14710da7079eb248868171f6343bc409ea3a4
291

392
Changes since version 1.41.0:
493

deps/uv/Makefile.am

+4-6
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,6 @@ endif
141141

142142
test_run_tests_LDFLAGS =
143143
test_run_tests_SOURCES = test/blackhole-server.c \
144-
test/dns-server.c \
145144
test/echo-server.c \
146145
test/run-tests.c \
147146
test/runner.c \
@@ -193,6 +192,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
193192
test/test-idna.c \
194193
test/test-ip4-addr.c \
195194
test/test-ip6-addr.c \
195+
test/test-ip-name.c \
196196
test/test-ipc-heavy-traffic-deadlock-bug.c \
197197
test/test-ipc-send-recv.c \
198198
test/test-ipc.c \
@@ -207,7 +207,6 @@ test_run_tests_SOURCES = test/blackhole-server.c \
207207
test/test-multiple-listen.c \
208208
test/test-mutexes.c \
209209
test/test-not-readable-nor-writable-on-read-error.c \
210-
test/test-not-readable-on-eof.c \
211210
test/test-not-writable-after-shutdown.c \
212211
test/test-osx-select.c \
213212
test/test-pass-always.c \
@@ -235,6 +234,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
235234
test/test-process-title-threadsafe.c \
236235
test/test-queue-foreach-delete.c \
237236
test/test-random.c \
237+
test/test-readable-on-eof.c \
238238
test/test-ref.c \
239239
test/test-run-nowait.c \
240240
test/test-run-once.c \
@@ -291,6 +291,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
291291
test/test-udp-alloc-cb-fail.c \
292292
test/test-udp-bind.c \
293293
test/test-udp-connect.c \
294+
test/test-udp-connect6.c \
294295
test/test-udp-create-socket-early.c \
295296
test/test-udp-dgram-too-big.c \
296297
test/test-udp-ipv6.c \
@@ -390,10 +391,7 @@ if ANDROID
390391
uvinclude_HEADERS += include/uv/android-ifaddrs.h
391392
libuv_la_CFLAGS += -D_GNU_SOURCE
392393
libuv_la_SOURCES += src/unix/android-ifaddrs.c \
393-
src/unix/pthread-fixes.c \
394-
src/unix/random-getrandom.c \
395-
src/unix/random-sysctl-linux.c \
396-
src/unix/epoll.c
394+
src/unix/pthread-fixes.c
397395
endif
398396

399397
if CYGWIN

deps/uv/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
libuv is a multi-platform support library with a focus on asynchronous I/O. It
66
was primarily developed for use by [Node.js][], but it's also
77
used by [Luvit](http://luvit.io/), [Julia](http://julialang.org/),
8-
[pyuv](https://github.com/saghul/pyuv), and [others](https://github.com/libuv/libuv/blob/v1.x/LINKS.md).
8+
[uvloop](https://github.com/MagicStack/uvloop), and [others](https://github.com/libuv/libuv/blob/v1.x/LINKS.md).
99

1010
## Feature highlights
1111

deps/uv/SUPPORTED_PLATFORMS.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
| IBM i | Tier 2 | >= IBM i 7.2 | Maintainers: @libuv/ibmi |
1111
| z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos |
1212
| Linux with musl | Tier 2 | musl >= 1.0 | |
13-
| SmartOS | Tier 2 | >= 14.4 | Maintainers: @libuv/smartos |
13+
| SmartOS | Tier 3 | >= 14.4 | |
1414
| Android | Tier 3 | NDK >= r15b | |
1515
| MinGW | Tier 3 | MinGW32 and MinGW-w64 | |
1616
| SunOS | Tier 3 | Solaris 121 and later | |

deps/uv/configure.ac

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1414

1515
AC_PREREQ(2.57)
16-
AC_INIT([libuv], [1.42.0], [https://github.com/libuv/libuv/issues])
16+
AC_INIT([libuv], [1.43.0], [https://github.com/libuv/libuv/issues])
1717
AC_CONFIG_MACRO_DIR([m4])
1818
m4_include([m4/libuv-extra-automake-flags.m4])
1919
m4_include([m4/as_case.m4])

deps/uv/docs/src/index.rst

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Overview
77

88
libuv is a multi-platform support library with a focus on asynchronous I/O. It
99
was primarily developed for use by `Node.js`_, but it's also used by `Luvit`_,
10-
`Julia`_, `pyuv`_, and `others`_.
10+
`Julia`_, `uvloop`_, and `others`_.
1111

1212
.. note::
1313
In case you find errors in this documentation you can help by sending
@@ -16,7 +16,7 @@ was primarily developed for use by `Node.js`_, but it's also used by `Luvit`_,
1616
.. _Node.js: https://nodejs.org
1717
.. _Luvit: https://luvit.io
1818
.. _Julia: https://julialang.org
19-
.. _pyuv: https://github.com/saghul/pyuv
19+
.. _uvloop: https://github.com/MagicStack/uvloop
2020
.. _others: https://github.com/libuv/libuv/blob/v1.x/LINKS.md
2121

2222

0 commit comments

Comments
 (0)