Skip to content

Commit

Permalink
deps: upgrade to libuv 1.42.0
Browse files Browse the repository at this point in the history
Notable changes:

- win,tcp: make `uv_close()` work more like unix
- cleanup,win: Remove `_WIN32` guards on threadpool
- more errno mappings and fixes
- higher performance try-writes
- fix string encoding issue of `uv_os_gethostname()` (note: MINGW-W64
  upstream is broken on i686 due to
  https://sourceforge.net/p/mingw-w64/bugs/899/)
- zOS support
- Workarounds for a `copy_file_range()` kernel bug
- Better support for TSan
- darwin: use `RLIMIT_STACK` for fsevents pthread
- fix a bug that would cause libuv to hang if the user called
  `uv_shutdown()`
- darwin: fix `uv_barrier()` race condition
  • Loading branch information
lpinca committed Jul 26, 2021
1 parent b6d4e27 commit 780fb32
Show file tree
Hide file tree
Showing 145 changed files with 2,356 additions and 1,173 deletions.
4 changes: 4 additions & 0 deletions deps/uv/.mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ A. Hauptmann <[email protected]>
Aaron Bieber <[email protected]> <[email protected]>
Alan Gutierrez <[email protected]> <[email protected]>
Andrius Bentkus <[email protected]> <[email protected]>
Andy Fiddaman <[email protected]> <[email protected]>
Bert Belder <[email protected]> <[email protected]>
Bert Belder <[email protected]> <[email protected]>
Bert Belder <[email protected]> <user@ChrUbuntu.(none)>
Expand All @@ -10,6 +11,8 @@ Brian White <[email protected]>
Brian White <[email protected]> <[email protected]>
Caleb James DeLisle <[email protected]> <[email protected]>
Christoph Iserlohn <[email protected]>
Darshan Sen <[email protected]>
David Carlier <[email protected]>
Devchandra Meetei Leishangthem <[email protected]>
Fedor Indutny <[email protected]> <[email protected]>
Frank Denis <[email protected]>
Expand Down Expand Up @@ -53,4 +56,5 @@ gengjiawen <[email protected]>
jBarz <[email protected]> <[email protected]>
jBarz <[email protected]> <[email protected]>
ptlomholt <[email protected]>
tjarlama <[email protected]> <[email protected]>
zlargon <[email protected]>
11 changes: 11 additions & 0 deletions deps/uv/.readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
version: 2

sphinx:
builder: html
configuration: null
fail_on_warning: false

python:
version: 3.8
install:
- requirements: docs/requirements.txt
24 changes: 22 additions & 2 deletions deps/uv/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,6 @@ Dylan Cali <[email protected]>
Austin Foxley <[email protected]>
Benjamin Saunders <[email protected]>
Geoffry Song <[email protected]>
Rasmus Christian Pedersen <[email protected]>
William Light <[email protected]>
Oleg Efimov <[email protected]>
Lars Gierth <[email protected]>
Expand All @@ -123,7 +122,6 @@ Justin Venus <[email protected]>
Kristian Evensen <[email protected]>
Linus Mårtensson <[email protected]>
Navaneeth Kedaram Nambiathan <[email protected]>
Yorkie <[email protected]>
StarWing <[email protected]>
thierry-FreeBSD <[email protected]>
Isaiah Norton <[email protected]>
Expand Down Expand Up @@ -459,3 +457,25 @@ schamberg97 <[email protected]>
Bob Weinand <[email protected]>
Issam E. Maghni <[email protected]>
Juan Pablo Canepa <[email protected]>
Shuowang (Wayne) Zhang <[email protected]>
Ondřej Surý <[email protected]>
Juan José Arboleda <[email protected]>
Zhao Zhili <[email protected]>
Brandon Cheng <[email protected]>
Matvii Hodovaniuk <[email protected]>
Hayden <[email protected]>
yiyuaner <[email protected]>
bbara <[email protected]>
SeverinLeonhardt <[email protected]>
Andy Fiddaman <[email protected]>
Romain Roffé <[email protected]>
Eagle Liang <[email protected]>
Ricky Zhou <[email protected]>
Simon Kissane <[email protected]>
James M Snell <[email protected]>
Ali Mohammad Pur <[email protected]>
Erkhes N <[email protected]>
Joshua M. Clulow <[email protected]>
Guilherme Íscaro <[email protected]>
Martin Storsjö <[email protected]>
Claes Nästén <[email protected]>
63 changes: 52 additions & 11 deletions deps/uv/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ option(ASAN "Enable AddressSanitizer (ASan)" OFF)
if(ASAN AND CMAKE_C_COMPILER_ID MATCHES "AppleClang|GNU|Clang")
add_definitions(-D__ASAN__=1)
set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
set (CMAKE_LINKER_FLAGS_DEBUG "${CMAKE_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
set (CMAKE_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fno-omit-frame-pointer -fsanitize=address")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-omit-frame-pointer -fsanitize=address")
endif()

# Compiler check
Expand Down Expand Up @@ -209,10 +210,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Android")
src/unix/pthread-fixes.c
src/unix/random-getentropy.c
src/unix/random-getrandom.c
src/unix/random-sysctl-linux.c)
src/unix/random-sysctl-linux.c
src/unix/epoll.c)
endif()

if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android|Linux|OS390")
if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "Android|Linux")
list(APPEND uv_sources src/unix/proctitle.c)
endif()

Expand Down Expand Up @@ -253,7 +255,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
src/unix/linux-syscalls.c
src/unix/procfs-exepath.c
src/unix/random-getrandom.c
src/unix/random-sysctl-linux.c)
src/unix/random-sysctl-linux.c
src/unix/epoll.c)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
Expand All @@ -266,9 +269,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
list(APPEND uv_defines PATH_MAX=255)
enable_language(CXX)
list(APPEND uv_defines PATH_MAX=1024)
list(APPEND uv_defines _AE_BIMODAL)
list(APPEND uv_defines _ALL_SOURCE)
list(APPEND uv_defines _ENHANCED_ASCII_EXT=0xFFFFFFFF)
list(APPEND uv_defines _ISOC99_SOURCE)
list(APPEND uv_defines _LARGE_TIME_API)
list(APPEND uv_defines _OPEN_MSGQ_EXT)
Expand All @@ -279,14 +284,31 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
list(APPEND uv_defines _UNIX03_SOURCE)
list(APPEND uv_defines _UNIX03_THREADS)
list(APPEND uv_defines _UNIX03_WITHDRAWN)
list(APPEND uv_defines _XOPEN_SOURCE=600)
list(APPEND uv_defines _XOPEN_SOURCE_EXTENDED)
list(APPEND uv_sources
src/unix/pthread-fixes.c
src/unix/os390.c
src/unix/os390-syscalls.c)
list(APPEND uv_cflags -Wc,DLL -Wc,exportall -Wc,xplink)
list(APPEND uv_libraries -Wl,xplink)
list(APPEND uv_test_libraries -Wl,xplink)
src/unix/os390-syscalls.c
src/unix/os390-proctitle.c)
list(APPEND uv_cflags
-q64
-qascii
-qexportall
-qgonumber
-qlongname
-qlibansi
-qfloat=IEEE
-qtune=10
-qarch=10
-qasm
-qasmlib=sys1.maclib:sys1.modgen)
find_library(ZOSLIB
NAMES zoslib
PATHS ${ZOSLIB_DIR}
PATH_SUFFIXES lib
)
list(APPEND uv_libraries ${ZOSLIB})
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "OS400")
Expand All @@ -303,9 +325,11 @@ if(CMAKE_SYSTEM_NAME STREQUAL "OS400")
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
list(APPEND uv_defines __EXTENSIONS__ _XOPEN_SOURCE=500)
list(APPEND uv_defines __EXTENSIONS__ _XOPEN_SOURCE=500 _REENTRANT)
list(APPEND uv_libraries kstat nsl sendfile socket)
list(APPEND uv_sources src/unix/no-proctitle.c src/unix/sunos.c)
list(APPEND uv_sources
src/unix/no-proctitle.c
src/unix/sunos.c)
endif()

if(CMAKE_SYSTEM_NAME STREQUAL "Haiku")
Expand Down Expand Up @@ -349,6 +373,10 @@ target_include_directories(uv
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PRIVATE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
target_include_directories(uv PUBLIC $<BUILD_INTERFACE:${ZOSLIB_DIR}/include>)
set_target_properties(uv PROPERTIES LINKER_LANGUAGE CXX)
endif()
target_link_libraries(uv ${uv_libraries})

add_library(uv_a STATIC ${uv_sources})
Expand All @@ -360,6 +388,10 @@ target_include_directories(uv_a
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PRIVATE
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/src>)
if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
target_include_directories(uv_a PUBLIC $<BUILD_INTERFACE:${ZOSLIB_DIR}/include>)
set_target_properties(uv_a PROPERTIES LINKER_LANGUAGE CXX)
endif()
target_link_libraries(uv_a ${uv_libraries})

if(LIBUV_BUILD_TESTS)
Expand Down Expand Up @@ -457,6 +489,9 @@ if(LIBUV_BUILD_TESTS)
test/test-metrics.c
test/test-multiple-listen.c
test/test-mutexes.c
test/test-not-readable-nor-writable-on-read-error.c
test/test-not-readable-on-eof.c
test/test-not-writable-after-shutdown.c
test/test-osx-select.c
test/test-pass-always.c
test/test-ping-pong.c
Expand Down Expand Up @@ -489,6 +524,7 @@ if(LIBUV_BUILD_TESTS)
test/test-semaphore.c
test/test-shutdown-close.c
test/test-shutdown-eof.c
test/test-shutdown-simultaneous.c
test/test-shutdown-twice.c
test/test-signal-multiple-loops.c
test/test-signal-pending-on-close.c
Expand Down Expand Up @@ -582,6 +618,11 @@ if(LIBUV_BUILD_TESTS)
add_test(NAME uv_test_a
COMMAND uv_run_tests_a
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
if(CMAKE_SYSTEM_NAME STREQUAL "OS390")
set_target_properties(uv_run_benchmarks_a PROPERTIES LINKER_LANGUAGE CXX)
set_target_properties(uv_run_tests PROPERTIES LINKER_LANGUAGE CXX)
set_target_properties(uv_run_tests_a PROPERTIES LINKER_LANGUAGE CXX)
endif()
endif()

if(UNIX OR MINGW)
Expand Down
10 changes: 5 additions & 5 deletions deps/uv/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ The stable branch is effectively frozen; patches that change the libuv
API/ABI or affect the run-time behavior of applications get rejected.

In case of doubt, open an issue in the [issue tracker][], post your question
to the [libuv mailing list], or contact one of [project maintainers][] on [IRC][].
to the [libuv discussions forum], or message the [libuv mailing list].

Especially do so if you plan to work on something big. Nothing is more
frustrating than seeing your hard work go to waste because your vision
does not align with that of a project maintainers.
Especially do so if you plan to work on something big. Nothing is more
frustrating than seeing your hard work go to waste because your vision does not
align with that of the [project maintainers].


### BRANCH
Expand Down Expand Up @@ -166,6 +166,6 @@ not send out notifications when you add commits.

[issue tracker]: https://github.com/libuv/libuv/issues
[libuv mailing list]: http://groups.google.com/group/libuv
[IRC]: http://webchat.freenode.net/?channels=libuv
[libuv discussions forum]: https://github.com/libuv/libuv/discussions
[Google C/C++ style guide]: https://google.github.io/styleguide/cppguide.html
[project maintainers]: https://github.com/libuv/libuv/blob/master/MAINTAINERS.md
Loading

0 comments on commit 780fb32

Please sign in to comment.