Permalink
Browse files

deps: upgrade to libuv 1.21.0

Notable changes:

- Building via cmake is now supported.
  PR-URL: libuv/libuv#1850
- Stricter checks have been added to prevent watching the same
  file descriptor multiple times.
  PR-URL: libuv/libuv#1851
  Refs: #3604
- An IPC deadlock on Windows has been fixed.
  PR-URL: libuv/libuv#1843
  Fixes: #9706
  Fixes: #7657
- uv_fs_lchown() has been added.
  PR-URL: libuv/libuv#1826
  Refs: #19868
- uv_fs_copyfile() sets errno on error.
  PR-URL: libuv/libuv#1881
  Fixes: #21329
- uv_fs_fchmod() supports -A files on Windows.
  PR-URL: libuv/libuv#1819
  Refs: #12803

PR-URL: #21466
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
  • Loading branch information...
cjihrig committed Jun 22, 2018
1 parent 49e5f0a commit 537a4baa443daea9850a8e324b5b4d7c21dd2717
Showing with 2,345 additions and 1,690 deletions.
  1. +5 −0 deps/uv/AUTHORS
  2. +381 −0 deps/uv/CMakeLists.txt
  3. +4 −1 deps/uv/CONTRIBUTING.md
  4. +97 −0 deps/uv/ChangeLog
  5. +1 −0 deps/uv/MAINTAINERS.md
  6. +20 −17 deps/uv/Makefile.am
  7. +0 −86 deps/uv/Makefile.mingw
  8. +10 −0 deps/uv/README.md
  9. +10 −9 deps/uv/checksparse.sh
  10. +1 −1 deps/uv/configure.ac
  11. +1 −1 deps/uv/docs/src/conf.py
  12. +7 −0 deps/uv/docs/src/errors.rst
  13. +9 −1 deps/uv/docs/src/fs.rst
  14. +8 −0 deps/uv/docs/src/handle.rst
  15. +3 −1 deps/uv/docs/src/pipe.rst
  16. +5 −0 deps/uv/docs/src/process.rst
  17. +8 −1 deps/uv/docs/src/request.rst
  18. +30 −14 deps/uv/include/uv.h
  19. 0 deps/uv/include/{uv-aix.h → uv/aix.h}
  20. 0 deps/uv/include/{ → uv}/android-ifaddrs.h
  21. 0 deps/uv/include/{uv-bsd.h → uv/bsd.h}
  22. 0 deps/uv/include/{uv-darwin.h → uv/darwin.h}
  23. +6 −0 deps/uv/include/{uv-errno.h → uv/errno.h}
  24. 0 deps/uv/include/{uv-linux.h → uv/linux.h}
  25. 0 deps/uv/include/{uv-os390.h → uv/os390.h}
  26. 0 deps/uv/include/{uv-posix.h → uv/posix.h}
  27. 0 deps/uv/include/{ → uv}/pthread-barrier.h
  28. 0 deps/uv/include/{ → uv}/stdint-msvc2008.h
  29. 0 deps/uv/include/{uv-sunos.h → uv/sunos.h}
  30. 0 deps/uv/include/{uv-threadpool.h → uv/threadpool.h}
  31. 0 deps/uv/include/{ → uv}/tree.h
  32. +10 −10 deps/uv/include/{uv-unix.h → uv/unix.h}
  33. +2 −2 deps/uv/include/{uv-version.h → uv/version.h}
  34. +22 −21 deps/uv/include/{uv-win.h → uv/win.h}
  35. +1 −1 deps/uv/libuv.pc.in
  36. +3 −3 deps/uv/samples/socks5-proxy/main.c
  37. +1 −1 deps/uv/src/inet.c
  38. +1 −1 deps/uv/src/unix/android-ifaddrs.c
  39. +7 −2 deps/uv/src/unix/core.c
  40. +25 −4 deps/uv/src/unix/fs.c
  41. +1 −0 deps/uv/src/unix/internal.h
  42. +2 −2 deps/uv/src/unix/kqueue.c
  43. +3 −2 deps/uv/src/unix/linux-core.c
  44. +1 −1 deps/uv/src/unix/linux-inotify.c
  45. +1 −1 deps/uv/src/unix/loop.c
  46. +3 −0 deps/uv/src/unix/pipe.c
  47. +3 −0 deps/uv/src/unix/poll.c
  48. +24 −15 deps/uv/src/unix/signal.c
  49. +2 −1 deps/uv/src/unix/stream.c
  50. +3 −0 deps/uv/src/unix/tcp.c
  51. +3 −0 deps/uv/src/unix/udp.c
  52. +2 −2 deps/uv/src/uv-common.h
  53. +2 −2 deps/uv/src/win/async.c
  54. +4 −4 deps/uv/src/win/atomicops-inl.h
  55. +8 −65 deps/uv/src/win/core.c
  56. +2 −2 deps/uv/src/win/error.c
  57. +89 −40 deps/uv/src/win/fs.c
  58. +9 −16 deps/uv/src/win/getaddrinfo.c
  59. +4 −4 deps/uv/src/win/handle-inl.h
  60. +16 −18 deps/uv/src/win/internal.h
  61. +586 −472 deps/uv/src/win/pipe.c
  62. +20 −21 deps/uv/src/win/poll.c
  63. +29 −29 deps/uv/src/win/process-stdio.c
  64. +28 −23 deps/uv/src/win/process.c
  65. +17 −17 deps/uv/src/win/signal.c
  66. +13 −21 deps/uv/src/win/stream.c
  67. +86 −97 deps/uv/src/win/tcp.c
  68. +12 −217 deps/uv/src/win/thread.c
  69. +1 −1 deps/uv/src/win/timer.c
  70. +64 −65 deps/uv/src/win/tty.c
  71. +43 −46 deps/uv/src/win/udp.c
  72. +36 −48 deps/uv/src/win/util.c
  73. +0 −67 deps/uv/src/win/winapi.c
  74. +2 −82 deps/uv/src/win/winapi.h
  75. +4 −4 deps/uv/src/win/winsock.c
  76. +1 −1 deps/uv/test/benchmark-async-pummel.c
  77. +5 −0 deps/uv/test/run-tests.c
  78. +6 −7 deps/uv/test/runner-unix.c
  79. +2 −2 deps/uv/test/runner-win.c
  80. +6 −7 deps/uv/test/runner.h
  81. +1 −1 deps/uv/test/task.h
  82. +7 −8 deps/uv/test/test-callback-stack.c
  83. +2 −2 deps/uv/test/test-connection-fail.c
  84. +2 −2 deps/uv/test/test-delayed-accept.c
  85. +3 −6 deps/uv/test/test-fork.c
  86. +1 −1 deps/uv/test/test-fs-copyfile.c
  87. +168 −1 deps/uv/test/test-fs.c
  88. +3 −3 deps/uv/test/test-hrtime.c
  89. +158 −0 deps/uv/test/test-ipc-heavy-traffic-deadlock-bug.c
  90. +4 −1 deps/uv/test/test-ipc-send-recv.c
  91. +9 −6 deps/uv/test/test-ipc.c
  92. +22 −4 deps/uv/test/test-list.h
  93. +8 −8 deps/uv/test/test-loop-handles.c
  94. +58 −31 deps/uv/test/test-ping-pong.c
  95. +2 −2 deps/uv/test/test-pipe-set-fchmod.c
  96. +1 −1 deps/uv/test/test-process-title-threadsafe.c
  97. +1 −1 deps/uv/test/test-signal-multiple-loops.c
  98. +4 −4 deps/uv/test/test-spawn.c
  99. +14 −0 deps/uv/test/test-tcp-open.c
  100. +2 −2 deps/uv/test/test-timer-again.c
  101. +1 −2 deps/uv/test/test-udp-alloc-cb-fail.c
  102. +1 −2 deps/uv/test/test-udp-multicast-join.c
  103. +1 −2 deps/uv/test/test-udp-multicast-join6.c
  104. +15 −2 deps/uv/test/test-udp-open.c
  105. +19 −0 deps/uv/test/test-udp-options.c
  106. +2 −4 deps/uv/test/test-udp-send-and-recv.c
  107. +1 −2 deps/uv/test/test-udp-send-immediate.c
  108. +2 −1 deps/uv/test/test.gyp
  109. +12 −12 deps/uv/uv.gyp
View
@@ -338,3 +338,8 @@ zzzjim <zzzjim@users.noreply.github.com>
Alex Arslan <ararslan@comcast.net>
Kyle Farnung <kfarnung@microsoft.com>
ssrlive <30760636+ssrlive@users.noreply.github.com>
Tobias Nießen <tniessen@tnie.de>
Björn Linse <bjorn.linse@gmail.com>
zyxwvu Shi <i@shiyc.cn>
Peter Johnson <johnson.peter@gmail.com>
Paolo Greppi <paolo.greppi@libpf.com>
View
@@ -0,0 +1,381 @@
# TODO: determine CMAKE_SYSTEM_NAME on OS/390. Currently assumes "OS/390".
cmake_minimum_required(VERSION 3.0)
project(libuv)
enable_testing()
if(MSVC)
list(APPEND uv_cflags /W4)
elseif(CMAKE_C_COMPILER_ID MATCHES "AppleClang|Clang|GNU")
list(APPEND uv_cflags -fvisibility=hidden --std=gnu89)
list(APPEND uv_cflags -Wall -Wextra -Wstrict-prototypes)
list(APPEND uv_cflags -Wno-unused-parameter)
endif()
set(uv_sources
src/fs-poll.c
src/inet.c
src/threadpool.c
src/uv-common.c
src/uv-data-getter-setters.c
src/version.c)
set(uv_test_sources
test/blackhole-server.c
test/echo-server.c
test/run-tests.c
test/runner.c
test/test-active.c
test/test-async-null-cb.c
test/test-async.c
test/test-barrier.c
test/test-callback-order.c
test/test-callback-stack.c
test/test-close-fd.c
test/test-close-order.c
test/test-condvar.c
test/test-connect-unspecified.c
test/test-connection-fail.c
test/test-cwd-and-chdir.c
test/test-default-loop-close.c
test/test-delayed-accept.c
test/test-dlerror.c
test/test-eintr-handling.c
test/test-embed.c
test/test-emfile.c
test/test-env-vars.c
test/test-error.c
test/test-fail-always.c
test/test-fork.c
test/test-fs-copyfile.c
test/test-fs-event.c
test/test-fs-poll.c
test/test-fs.c
test/test-get-currentexe.c
test/test-get-loadavg.c
test/test-get-memory.c
test/test-get-passwd.c
test/test-getaddrinfo.c
test/test-gethostname.c
test/test-getnameinfo.c
test/test-getsockname.c
test/test-getters-setters.c
test/test-handle-fileno.c
test/test-homedir.c
test/test-hrtime.c
test/test-idle.c
test/test-ip4-addr.c
test/test-ip6-addr.c
test/test-ip6-addr.c
test/test-ipc-heavy-traffic-deadlock-bug.c
test/test-ipc-send-recv.c
test/test-ipc.c
test/test-loop-alive.c
test/test-loop-close.c
test/test-loop-configure.c
test/test-loop-handles.c
test/test-loop-stop.c
test/test-loop-time.c
test/test-multiple-listen.c
test/test-mutexes.c
test/test-osx-select.c
test/test-pass-always.c
test/test-ping-pong.c
test/test-pipe-bind-error.c
test/test-pipe-close-stdout-read-stdin.c
test/test-pipe-connect-error.c
test/test-pipe-connect-multiple.c
test/test-pipe-connect-prepare.c
test/test-pipe-getsockname.c
test/test-pipe-pending-instances.c
test/test-pipe-sendmsg.c
test/test-pipe-server-close.c
test/test-pipe-set-fchmod.c
test/test-pipe-set-non-blocking.c
test/test-platform-output.c
test/test-poll-close-doesnt-corrupt-stack.c
test/test-poll-close.c
test/test-poll-closesocket.c
test/test-poll-oob.c
test/test-poll.c
test/test-process-title-threadsafe.c
test/test-process-title.c
test/test-queue-foreach-delete.c
test/test-ref.c
test/test-run-nowait.c
test/test-run-once.c
test/test-semaphore.c
test/test-shutdown-close.c
test/test-shutdown-eof.c
test/test-shutdown-twice.c
test/test-signal-multiple-loops.c
test/test-signal.c
test/test-socket-buffer-size.c
test/test-spawn.c
test/test-stdio-over-pipes.c
test/test-tcp-alloc-cb-fail.c
test/test-tcp-bind-error.c
test/test-tcp-bind6-error.c
test/test-tcp-close-accept.c
test/test-tcp-close-while-connecting.c
test/test-tcp-close.c
test/test-tcp-connect-error-after-write.c
test/test-tcp-connect-error.c
test/test-tcp-connect-timeout.c
test/test-tcp-connect6-error.c
test/test-tcp-create-socket-early.c
test/test-tcp-flags.c
test/test-tcp-oob.c
test/test-tcp-open.c
test/test-tcp-read-stop.c
test/test-tcp-shutdown-after-write.c
test/test-tcp-try-write.c
test/test-tcp-unexpected-read.c
test/test-tcp-write-after-connect.c
test/test-tcp-write-fail.c
test/test-tcp-write-queue-order.c
test/test-tcp-write-to-half-open-connection.c
test/test-tcp-writealot.c
test/test-thread-equal.c
test/test-thread.c
test/test-threadpool-cancel.c
test/test-threadpool.c
test/test-timer-again.c
test/test-timer-from-check.c
test/test-timer.c
test/test-tmpdir.c
test/test-tty.c
test/test-udp-alloc-cb-fail.c
test/test-udp-bind.c
test/test-udp-create-socket-early.c
test/test-udp-dgram-too-big.c
test/test-udp-ipv6.c
test/test-udp-multicast-interface.c
test/test-udp-multicast-interface6.c
test/test-udp-multicast-join.c
test/test-udp-multicast-join6.c
test/test-udp-multicast-ttl.c
test/test-udp-open.c
test/test-udp-options.c
test/test-udp-send-and-recv.c
test/test-udp-send-hang-loop.c
test/test-udp-send-immediate.c
test/test-udp-send-unreachable.c
test/test-udp-try-send.c
test/test-walk-handles.c
test/test-watcher-cross-stop.c)
if(WIN32)
list(APPEND uv_defines WIN32_LEAN_AND_MEAN _WIN32_WINNT=0x0600)
list(APPEND uv_libraries
advapi32
iphlpapi
psapi
shell32
user32
userenv
ws2_32)
list(APPEND uv_sources
src/win/async.c
src/win/core.c
src/win/detect-wakeup.c
src/win/dl.c
src/win/error.c
src/win/fs.c
src/win/fs-event.c
src/win/getaddrinfo.c
src/win/getnameinfo.c
src/win/handle.c
src/win/loop-watcher.c
src/win/pipe.c
src/win/thread.c
src/win/poll.c
src/win/process.c
src/win/process-stdio.c
src/win/req.c
src/win/signal.c
src/win/snprintf.c
src/win/stream.c
src/win/tcp.c
src/win/tty.c
src/win/timer.c
src/win/udp.c
src/win/util.c
src/win/winapi.c
src/win/winsock.c)
list(APPEND uv_test_libraries ws2_32)
list(APPEND uv_test_sources src/win/snprintf.c test/runner-win.c)
else()
list(APPEND uv_defines _FILE_OFFSET_BITS=64 _LARGEFILE_SOURCE)
list(APPEND uv_libraries pthread)
list(APPEND uv_sources
src/unix/async.c
src/unix/core.c
src/unix/dl.c
src/unix/fs.c
src/unix/getaddrinfo.c
src/unix/getnameinfo.c
src/unix/loop-watcher.c
src/unix/loop.c
src/unix/pipe.c
src/unix/poll.c
src/unix/process.c
src/unix/signal.c
src/unix/stream.c
src/unix/tcp.c
src/unix/thread.c
src/unix/timer.c
src/unix/tty.c
src/unix/udp.c)
list(APPEND uv_test_sources test/runner-unix.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "AIX")
list(APPEND uv_defines
_ALL_SOURCE
_LINUX_SOURCE_COMPAT
_THREAD_SAFE
_XOPEN_SOURCE=500)
list(APPEND uv_libraries perfstat)
list(APPEND uv_sources src/unix/aix.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Android")
list(APPEND uv_libs dl)
list(APPEND uv_sources
src/unix/android-ifaddrs.c
src/unix/linux-core.c
src/unix/linux-inotify.c
src/unix/linux-syscalls.c
src/unix/procfs-exepath.c
src/unix/pthread-fixes.c
src/unix/sysinfo-loadavg.c
src/unix/sysinfo-memory.c)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Android|Darwin|Linux|OS/390")
list(APPEND uv_sources src/unix/proctitle.c)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD")
list(APPEND uv_sources src/unix/freebsd.c)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|NetBSD|OpenBSD")
list(APPEND uv_sources src/unix/posix-hrtime.c)
list(APPEND uv_libraries kvm)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|DragonFly|FreeBSD|NetBSD|OpenBSD")
list(APPEND uv_sources src/unix/bsd-ifaddrs.c src/unix/kqueue.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
list(APPEND uv_defines _DARWIN_UNLIMITED_SELECT=1 _DARWIN_USE_64_BIT_INODE=1)
list(APPEND uv_sources
src/unix/darwin-proctitle.c
src/unix/darwin.c
src/unix/fsevents.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
list(APPEND uv_defines _GNU_SOURCE _POSIX_C_SOURCE=200112)
list(APPEND uv_libraries dl rt)
list(APPEND uv_sources
src/unix/linux-core.c
src/unix/linux-inotify.c
src/unix/linux-syscalls.c
src/unix/procfs-exepath.c
src/unix/sysinfo-loadavg.c
src/unix/sysinfo-memory.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "NetBSD")
list(APPEND uv_sources src/unix/netbsd.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
list(APPEND uv_sources src/unix/openbsd.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "OS/390")
list(APPEND uv_defines PATH_MAX=255)
list(APPEND uv_defines _AE_BIMODAL)
list(APPEND uv_defines _ALL_SOURCE)
list(APPEND uv_defines _LARGE_TIME_API)
list(APPEND uv_defines _OPEN_MSGQ_EXT)
list(APPEND uv_defines _OPEN_SYS_FILE_EXT)
list(APPEND uv_defines _OPEN_SYS_IF_EXT)
list(APPEND uv_defines _OPEN_SYS_SOCK_IPV6)
list(APPEND uv_defines _UNIX03_SOURCE)
list(APPEND uv_defines _UNIX03_THREADS)
list(APPEND uv_defines _UNIX03_WITHDRAWN)
list(APPEND uv_defines _XOPEN_SOURCE_EXTENDED)
list(APPEND uv_sources
src/unix/pthread-fixes.c
src/unix/pthread-barrier.c
src/unix/os390.c
src/unix/os390-syscalls.c)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "SunOS")
list(APPEND uv_defines __EXTENSIONS__ _XOPEN_SOURCE=500)
list(APPEND uv_libraries kstat nsl sendfile socket)
list(APPEND uv_sources src/unix/no-proctitle.c src/unix/sunos.c)
endif()
if(CMAKE_SYSTEM_NAME MATCHES "Darwin|DragonFly|FreeBSD|Linux|NetBSD|OpenBSD")
list(APPEND uv_test_libraries util)
endif()
add_library(uv SHARED ${uv_sources})
target_compile_definitions(uv PRIVATE ${uv_defines} BUILDING_UV_SHARED=1)
target_compile_options(uv PRIVATE ${uv_cflags})
target_include_directories(uv PRIVATE include src)
target_link_libraries(uv ${uv_libraries})
add_library(uv_a STATIC ${uv_sources})
target_compile_definitions(uv_a PRIVATE ${uv_defines})
target_compile_options(uv_a PRIVATE ${uv_cflags})
target_include_directories(uv_a PRIVATE include src)
target_link_libraries(uv_a ${uv_libraries})
if(BUILD_TESTING)
include(CTest)
add_executable(uv_run_tests ${uv_test_sources})
target_compile_definitions(uv_run_tests PRIVATE ${uv_defines})
target_compile_options(uv_run_tests PRIVATE ${uv_cflags})
target_include_directories(uv_run_tests PRIVATE include)
target_link_libraries(uv_run_tests uv ${uv_test_libraries})
add_test(NAME uv_test
COMMAND uv_run_tests
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_executable(uv_run_tests_a ${uv_test_sources})
target_compile_definitions(uv_run_tests_a PRIVATE ${uv_defines})
target_compile_options(uv_run_tests_a PRIVATE ${uv_cflags})
target_include_directories(uv_run_tests_a PRIVATE include)
target_link_libraries(uv_run_tests_a uv_a ${uv_test_libraries})
add_test(NAME uv_test_a
COMMAND uv_run_tests_a
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
endif()
if(UNIX)
# Now for some gibbering horrors from beyond the stars...
include(GNUInstallDirs)
foreach(x ${uv_libraries})
set(LIBS "${LIBS} -l${x}")
endforeach(x)
file(STRINGS configure.ac configure_ac REGEX ^AC_INIT)
string(REGEX MATCH [0-9]+[.][0-9]+[.][0-9]+ PACKAGE_VERSION "${configure_ac}")
set(includedir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_INCLUDEDIR})
set(libdir ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
set(prefix ${CMAKE_INSTALL_PREFIX})
configure_file(libuv.pc.in ${CMAKE_CURRENT_BINARY_DIR}/libuv.pc @ONLY)
install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
install(FILES LICENSE DESTINATION ${CMAKE_INSTALL_DOCDIR})
install(FILES LICENSE ${CMAKE_CURRENT_BINARY_DIR}/libuv.pc
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)
install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
endif()
Oops, something went wrong.

0 comments on commit 537a4ba

Please sign in to comment.