Skip to content

Commit 2764567

Browse files
cjihrigtargos
authored andcommitted
deps: upgrade to libuv 1.33.1
Notable changes: - uv_random() has been added. - More work to read those pesky Windows environment variables. - Several build fixes for Tier 3 platforms (Android, NetBSD, OpenBSD, Haiku). - Stop using fsevents to watch files (using kqueue again). PR-URL: #29996 Reviewed-By: Richard Lau <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: David Carlier <[email protected]> Reviewed-By: Trivikram Kamat <[email protected]> Reviewed-By: Jiawen Geng <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Gireesh Punathil <[email protected]>
1 parent 2ebd1a0 commit 2764567

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

+1282
-233
lines changed

deps/uv/AUTHORS

+8
Original file line numberDiff line numberDiff line change
@@ -403,3 +403,11 @@ Vladimir Karnushin <[email protected]>
403403
404404
Eneas U de Queiroz <[email protected]>
405405
Daniel Hahler <[email protected]>
406+
407+
David Carlier <[email protected]>
408+
Calvin Hill <[email protected]>
409+
Isabella Muerte <[email protected]>
410+
Ouyang Yadong <[email protected]>
411+
412+
413+
Stefan Bender <[email protected]>

deps/uv/CMakeLists.txt

+33-9
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,15 @@
11
# TODO: determine CMAKE_SYSTEM_NAME on OS/390. Currently assumes "OS/390".
2-
cmake_minimum_required(VERSION 2.8.12)
3-
project(libuv)
2+
cmake_minimum_required(VERSION 3.4)
3+
project(libuv LANGUAGES C)
4+
5+
include(CMakePackageConfigHelpers)
6+
include(CMakeDependentOption)
7+
include(GNUInstallDirs)
8+
include(CTest)
9+
10+
cmake_dependent_option(LIBUV_BUILD_TESTS
11+
"Build the unit tests when BUILD_TESTING is enabled and we are the root project" ON
12+
"BUILD_TESTING;CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR" OFF)
413

514
if(MSVC)
615
list(APPEND uv_cflags /W4)
@@ -14,6 +23,7 @@ set(uv_sources
1423
src/fs-poll.c
1524
src/idna.c
1625
src/inet.c
26+
src/random.c
1727
src/strscpy.c
1828
src/threadpool.c
1929
src/timer.c
@@ -72,7 +82,6 @@ set(uv_test_sources
7282
test/test-idna.c
7383
test/test-ip4-addr.c
7484
test/test-ip6-addr.c
75-
test/test-ip6-addr.c
7685
test/test-ipc-heavy-traffic-deadlock-bug.c
7786
test/test-ipc-send-recv.c
7887
test/test-ipc.c
@@ -108,6 +117,7 @@ set(uv_test_sources
108117
test/test-process-title-threadsafe.c
109118
test/test-process-title.c
110119
test/test-queue-foreach-delete.c
120+
test/test-random.c
111121
test/test-ref.c
112122
test/test-run-nowait.c
113123
test/test-run-once.c
@@ -236,6 +246,7 @@ else()
236246
src/unix/pipe.c
237247
src/unix/poll.c
238248
src/unix/process.c
249+
src/unix/random-devurandom.c
239250
src/unix/signal.c
240251
src/unix/stream.c
241252
src/unix/tcp.c
@@ -284,6 +295,14 @@ if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "DragonFly|FreeBSD|NetBSD|OpenBSD")
284295
list(APPEND uv_sources src/unix/bsd-ifaddrs.c src/unix/kqueue.c)
285296
endif()
286297

298+
if(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
299+
list(APPEND uv_sources src/unix/random-getrandom.c)
300+
endif()
301+
302+
if(APPLE OR CMAKE_SYSTEM_NAME STREQUAL "OpenBSD")
303+
list(APPEND uv_sources src/unix/random-getentropy.c)
304+
endif()
305+
287306
if(APPLE)
288307
list(APPEND uv_defines _DARWIN_UNLIMITED_SELECT=1 _DARWIN_USE_64_BIT_INODE=1)
289308
list(APPEND uv_sources
@@ -300,6 +319,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
300319
src/unix/linux-inotify.c
301320
src/unix/linux-syscalls.c
302321
src/unix/procfs-exepath.c
322+
src/unix/random-getrandom.c
323+
src/unix/random-sysctl.c
303324
src/unix/sysinfo-loadavg.c)
304325
endif()
305326

@@ -356,11 +377,7 @@ target_compile_options(uv_a PRIVATE ${uv_cflags})
356377
target_include_directories(uv_a PUBLIC include PRIVATE src)
357378
target_link_libraries(uv_a ${uv_libraries})
358379

359-
option(libuv_buildtests "Build the unit tests when BUILD_TESTING is enabled." ON)
360-
361-
include(CTest)
362-
if(BUILD_TESTING AND libuv_buildtests)
363-
enable_testing()
380+
if(LIBUV_BUILD_TESTS)
364381
add_executable(uv_run_tests ${uv_test_sources})
365382
target_compile_definitions(uv_run_tests
366383
PRIVATE ${uv_defines} USING_UV_SHARED=1)
@@ -380,7 +397,6 @@ endif()
380397

381398
if(UNIX)
382399
# Now for some gibbering horrors from beyond the stars...
383-
include(GNUInstallDirs)
384400
foreach(x ${uv_libraries})
385401
set(LIBS "${LIBS} -l${x}")
386402
endforeach(x)
@@ -402,3 +418,11 @@ if(UNIX)
402418
install(TARGETS uv LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
403419
install(TARGETS uv_a ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
404420
endif()
421+
422+
if(WIN32)
423+
install(DIRECTORY include/ DESTINATION include)
424+
install(FILES LICENSE DESTINATION .)
425+
install(TARGETS uv uv_a
426+
RUNTIME DESTINATION lib/$<CONFIG>
427+
ARCHIVE DESTINATION lib/$<CONFIG>)
428+
endif()

deps/uv/ChangeLog

+80
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,83 @@
1+
2019.10.20, Version 1.33.1 (Stable), 07ad32138f4d2285ba2226b5e20462b27b091a59
2+
3+
Changes since version 1.33.0:
4+
5+
* linux: fix arm64 SYS__sysctl build breakage (Ben Noordhuis)
6+
7+
8+
2019.10.17, Version 1.33.0 (Stable), e56e42e9310e4437e1886dbd6771792c14c0a5f3
9+
10+
Changes since version 1.32.0:
11+
12+
* Revert "linux: drop code path for epoll_pwait-less kernels" (Yang Yu)
13+
14+
* build: fix build error with __ANDROID_API__ < 21 (Yang Yu)
15+
16+
* win: fix reading hidden env vars (Anna Henningsen)
17+
18+
* unix,win: add uv_random() (Ben Noordhuis)
19+
20+
* win: simplify mkdtemp (Saúl Ibarra Corretgé)
21+
22+
* docs: fix literal-includes in User Guide (Nhan Khong)
23+
24+
* win, tty: fix problem of receiving unexpected SIGWINCH (erw7)
25+
26+
* unix: fix {Net,Open}BSD build (David Carlier)
27+
28+
* win,mingw: Fix undefined MCAST_* constants (Crunkle)
29+
30+
* build: Add link for test/fixtures/lorem_ipsum.txt (Andrew Paprocki)
31+
32+
* fs: use statvfs in uv__fs_statfs() for Haiku (Calvin Hill)
33+
34+
* fsevents: stop using fsevents to watch files (Jameson Nash)
35+
36+
* fsevents: regression in watching / (Jameson Nash)
37+
38+
* build,cmake: don't try to detect a C++ compiler (Isabella Muerte)
39+
40+
* build: fix build warning on cygwin (MaYuming)
41+
42+
* unix: set sin_len and sin6_len (Ouyang Yadong)
43+
44+
* test: fix order of operations in test (cjihrig)
45+
46+
* doc: improve uv_fs_readdir() cleanup docs (cjihrig)
47+
48+
* build: remove duplicated test in build files (ZYSzys)
49+
50+
* android: enable getentropy on Android >= 28 (David Carlier)
51+
52+
* android: fix build (David Carlier)
53+
54+
* darwin: speed up uv_set_process_title() (Ben Noordhuis)
55+
56+
* darwin: assume pthread_setname_np() is available (Ben Noordhuis)
57+
58+
* unix,udp: ensure addr is non-null (Jameson Nash)
59+
60+
* win,tty: add uv_tty_{get,set}_vterm_state (erw7)
61+
62+
* win: fix uv_statfs_t leak in uv_fs_statfs() (Ryan Liptak)
63+
64+
* build: install files on windows via cmake (Carl Lei)
65+
66+
* darwin,test: include AvailabilityMacros.h (Saúl Ibarra Corretgé)
67+
68+
* darwin,test: update loop time after sleeping (Saúl Ibarra Corretgé)
69+
70+
* doc: remove old FreeBSD 9 related note (Saúl Ibarra Corretgé)
71+
72+
* doc: improve uv_{send,recv}_buffer_size() docs (Ryan Liptak)
73+
74+
* build: move -Wno-long-long check to configure time (Ben Noordhuis)
75+
76+
* unix: update uv_fs_copyfile() fallback logic (Stefan Bender)
77+
78+
* win: cast setsockopt struct to const char* (Shelley Vohr)
79+
80+
181
2019.09.10, Version 1.32.0 (Stable), 697bea87b3a0b0e9b4e5ff86b39d1dedb70ee46d
282

383
Changes since version 1.31.0:

deps/uv/Makefile.am

+11-7
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ libuv_la_SOURCES = src/fs-poll.c \
3535
src/idna.h \
3636
src/inet.c \
3737
src/queue.h \
38+
src/random.c \
3839
src/strscpy.c \
3940
src/strscpy.h \
4041
src/threadpool.c \
@@ -105,6 +106,7 @@ libuv_la_SOURCES += src/unix/async.c \
105106
src/unix/pipe.c \
106107
src/unix/poll.c \
107108
src/unix/process.c \
109+
src/unix/random-devurandom.c \
108110
src/unix/signal.c \
109111
src/unix/spinlock.h \
110112
src/unix/stream.c \
@@ -138,11 +140,7 @@ EXTRA_DIST = test/fixtures/empty_file \
138140

139141
TESTS = test/run-tests
140142
check_PROGRAMS = test/run-tests
141-
if OS390
142143
test_run_tests_CFLAGS =
143-
else
144-
test_run_tests_CFLAGS = -Wno-long-long
145-
endif
146144

147145
if SUNOS
148146
# Can't be turned into a CC_CHECK_CFLAGS in configure.ac, it makes compilers
@@ -240,6 +238,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
240238
test/test-process-title.c \
241239
test/test-process-title-threadsafe.c \
242240
test/test-queue-foreach-delete.c \
241+
test/test-random.c \
243242
test/test-ref.c \
244243
test/test-run-nowait.c \
245244
test/test-run-once.c \
@@ -414,7 +413,8 @@ libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \
414413
src/unix/darwin-proctitle.c \
415414
src/unix/fsevents.c \
416415
src/unix/kqueue.c \
417-
src/unix/proctitle.c
416+
src/unix/proctitle.c \
417+
src/unix/random-getentropy.c
418418
test_run_tests_LDFLAGS += -lutil
419419
endif
420420

@@ -434,7 +434,8 @@ libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \
434434
src/unix/bsd-proctitle.c \
435435
src/unix/freebsd.c \
436436
src/unix/kqueue.c \
437-
src/unix/posix-hrtime.c
437+
src/unix/posix-hrtime.c \
438+
src/unix/random-getrandom.c
438439
test_run_tests_LDFLAGS += -lutil
439440
endif
440441

@@ -465,6 +466,8 @@ libuv_la_SOURCES += src/unix/linux-core.c \
465466
src/unix/linux-syscalls.h \
466467
src/unix/procfs-exepath.c \
467468
src/unix/proctitle.c \
469+
src/unix/random-getrandom.c \
470+
src/unix/random-sysctl.c \
468471
src/unix/sysinfo-loadavg.c
469472
test_run_tests_LDFLAGS += -lutil
470473
endif
@@ -498,7 +501,8 @@ libuv_la_SOURCES += src/unix/bsd-ifaddrs.c \
498501
src/unix/bsd-proctitle.c \
499502
src/unix/kqueue.c \
500503
src/unix/openbsd.c \
501-
src/unix/posix-hrtime.c
504+
src/unix/posix-hrtime.c \
505+
src/unix/random-getentropy.c
502506
test_run_tests_LDFLAGS += -lutil
503507
endif
504508

deps/uv/SUPPORTED_PLATFORMS.md

+1-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
| GNU/Linux | Tier 1 | Linux >= 2.6.32 with glibc >= 2.12 | |
66
| macOS | Tier 1 | macOS >= 10.7 | |
77
| Windows | Tier 1 | >= Windows 7 | MSVC 2008 and later are supported |
8-
| FreeBSD | Tier 1 | >= 9 (see note) | |
8+
| FreeBSD | Tier 1 | >= 10 | |
99
| AIX | Tier 2 | >= 6 | Maintainers: @libuv/aix |
1010
| z/OS | Tier 2 | >= V2R2 | Maintainers: @libuv/zos |
1111
| Linux with musl | Tier 2 | musl >= 1.0 | |
@@ -16,11 +16,6 @@
1616
| SunOS | Tier 3 | Solaris 121 and later | |
1717
| Other | Tier 3 | N/A | |
1818

19-
#### Note on FreeBSD 9
20-
21-
While FreeBSD is supported as Tier 1, FreeBSD 9 will get Tier 2 support until
22-
it reaches end of life, in December 2016.
23-
2419
## Support types
2520

2621
* **Tier 1**: Officially supported and tested with CI. Any contributed patch

deps/uv/configure.ac

+3-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.32.0], [https://github.com/libuv/libuv/issues])
16+
AC_INIT([libuv], [1.33.1], [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])
@@ -32,6 +32,7 @@ CC_CHECK_CFLAGS_APPEND([-g])
3232
CC_CHECK_CFLAGS_APPEND([-std=gnu89])
3333
CC_CHECK_CFLAGS_APPEND([-Wall])
3434
CC_CHECK_CFLAGS_APPEND([-Wextra])
35+
CC_CHECK_CFLAGS_APPEND([-Wno-long-long])
3536
CC_CHECK_CFLAGS_APPEND([-Wno-unused-parameter])
3637
CC_CHECK_CFLAGS_APPEND([-Wstrict-prototypes])
3738
# AM_PROG_AR is not available in automake v0.11 but it's essential in v0.12.
@@ -80,4 +81,5 @@ AC_CHECK_HEADERS([sys/ahafs_evProds.h])
8081
AC_CONFIG_FILES([Makefile libuv.pc])
8182
AC_CONFIG_LINKS([test/fixtures/empty_file:test/fixtures/empty_file])
8283
AC_CONFIG_LINKS([test/fixtures/load_error.node:test/fixtures/load_error.node])
84+
AC_CONFIG_LINKS([test/fixtures/lorem_ipsum.txt:test/fixtures/lorem_ipsum.txt])
8385
AC_OUTPUT

deps/uv/docs/src/fs.rst

+11-3
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,8 @@ API
295295
296296
.. note::
297297
On success this function allocates memory that must be freed using
298-
`uv_fs_req_cleanup()`.
298+
`uv_fs_req_cleanup()`. `uv_fs_req_cleanup()` must be called before
299+
closing the directory with `uv_fs_closedir()`.
299300
300301
.. c:function:: int uv_fs_scandir(uv_loop_t* loop, uv_fs_t* req, const char* path, int flags, uv_fs_cb cb)
301302
.. c:function:: int uv_fs_scandir_next(uv_fs_t* req, uv_dirent_t* ent)
@@ -358,10 +359,13 @@ API
358359
is to overwrite the destination if it exists.
359360
- `UV_FS_COPYFILE_FICLONE`: If present, `uv_fs_copyfile()` will attempt to
360361
create a copy-on-write reflink. If the underlying platform does not
361-
support copy-on-write, then a fallback copy mechanism is used.
362+
support copy-on-write, or an error occurs while attempting to use
363+
copy-on-write, a fallback copy mechanism based on
364+
:c:func:`uv_fs_sendfile()` is used.
362365
- `UV_FS_COPYFILE_FICLONE_FORCE`: If present, `uv_fs_copyfile()` will
363366
attempt to create a copy-on-write reflink. If the underlying platform does
364-
not support copy-on-write, then an error is returned.
367+
not support copy-on-write, or an error occurs while attempting to use
368+
copy-on-write, then an error is returned.
365369
366370
.. warning::
367371
If the destination path is created, but an error occurs while copying
@@ -374,6 +378,10 @@ API
374378
.. versionchanged:: 1.20.0 `UV_FS_COPYFILE_FICLONE` and
375379
`UV_FS_COPYFILE_FICLONE_FORCE` are supported.
376380
381+
.. versionchanged:: 1.33.0 If an error occurs while using
382+
`UV_FS_COPYFILE_FICLONE_FORCE`, that error is returned. Previously,
383+
all errors were mapped to `UV_ENOTSUP`.
384+
377385
.. c:function:: int uv_fs_sendfile(uv_loop_t* loop, uv_fs_t* req, uv_file out_fd, uv_file in_fd, int64_t in_offset, size_t length, uv_fs_cb cb)
378386
379387
Limited equivalent to :man:`sendfile(2)`.

deps/uv/docs/src/handle.rst

+10-4
Original file line numberDiff line numberDiff line change
@@ -190,8 +190,11 @@ just for some handle types.
190190
Gets or sets the size of the send buffer that the operating
191191
system uses for the socket.
192192
193-
If `*value` == 0, it will return the current send buffer size,
194-
otherwise it will use `*value` to set the new send buffer size.
193+
If `*value` == 0, then it will set `*value` to the current send buffer size.
194+
If `*value` > 0 then it will use `*value` to set the new send buffer size.
195+
196+
On success, zero is returned. On error, a negative result is
197+
returned.
195198
196199
This function works for TCP, pipe and UDP handles on Unix and for TCP and
197200
UDP handles on Windows.
@@ -204,8 +207,11 @@ just for some handle types.
204207
Gets or sets the size of the receive buffer that the operating
205208
system uses for the socket.
206209
207-
If `*value` == 0, it will return the current receive buffer size,
208-
otherwise it will use `*value` to set the new receive buffer size.
210+
If `*value` == 0, then it will set `*value` to the current receive buffer size.
211+
If `*value` > 0 then it will use `*value` to set the new receive buffer size.
212+
213+
On success, zero is returned. On error, a negative result is
214+
returned.
209215
210216
This function works for TCP, pipe and UDP handles on Unix and for TCP and
211217
UDP handles on Windows.

0 commit comments

Comments
 (0)