Skip to content

Commit a1d7469

Browse files
cjihrigMylesBorins
authored andcommitted
deps: upgrade libuv to 1.16.1
PR-URL: #16835 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
1 parent 18803bc commit a1d7469

39 files changed

+1035
-77
lines changed

deps/uv/.mailmap

+1
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ Marc Schlaich <marc.schlaich@googlemail.com> <marc.schlaich@gmail.com>
2626
Michael <michael_dawson@ca.ibm.com>
2727
Michael Neumann <mneumann@think.localnet> <mneumann@ntecs.de>
2828
Nicholas Vavilov <vvnicholas@gmail.com>
29+
Nick Logan <ugexe@cpan.org> <nlogan@gmail.com>
2930
Rasmus Christian Pedersen <zerhacken@yahoo.com>
3031
Rasmus Christian Pedersen <zerhacken@yahoo.com> <ruysch@outlook.com>
3132
Robert Mustacchi <rm@joyent.com> <rm@fingolfin.org>

deps/uv/AUTHORS

+3
Original file line numberDiff line numberDiff line change
@@ -315,3 +315,6 @@ darobs <darobs@microsoft.com>
315315
Zheng, Lei <realthunder.dev@gmail.com>
316316
Carlo Marcelo Arenas Belón <carenas@gmail.com>
317317
Scott Parker <scott.parker087@gmail.com>
318+
Wade Brainerd <Wade.Brainerd@activision.com>
319+
rayrase <rmartinez2175@eagle.fgcu.edu>
320+
Pekka Nikander <pekka.nikander@iki.fi>

deps/uv/ChangeLog

+52
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,55 @@
1+
2017.11.11, Version 1.16.1 (Stable), 4056fbe46493ef87237e307e0025e551db875e13
2+
3+
Changes since version 1.16.0:
4+
5+
* unix: move net/if.h include (cjihrig)
6+
7+
* win: fix undeclared NDIS_IF_MAX_STRING_SIZE (Nick Logan)
8+
9+
10+
2017.11.07, Version 1.16.0 (Stable), d68779f0ea742918f653b9c20237460271c39aeb
11+
12+
Changes since version 1.15.0:
13+
14+
* win: change st_blksize from `2048` to `4096` (Joran Dirk Greef)
15+
16+
* unix,win: add fs open flags, map O_DIRECT|O_DSYNC (Joran Dirk Greef)
17+
18+
* win, fs: fix non-symlink reparse points (Wade Brainerd)
19+
20+
* test: fix -Wstrict-prototypes warnings (Ben Noordhuis)
21+
22+
* unix, windows: map ENOTTY errno (Ben Noordhuis)
23+
24+
* unix: fall back to fsync() if F_FULLFSYNC fails (Joran Dirk Greef)
25+
26+
* unix: do not close invalid kqueue fd after fork (jBarz)
27+
28+
* zos: reset epoll data after fork (jBarz)
29+
30+
* zos: skip fork_threadpool_queue_work_simple (jBarz)
31+
32+
* test: keep platform_output as first test (Bartosz Sosnowski)
33+
34+
* win: fix non-English dlopen error message (Bartosz Sosnowski)
35+
36+
* unix,win: add uv_os_getppid() (cjihrig)
37+
38+
* test: fix const qualification compiler warning (Ben Noordhuis)
39+
40+
* doc: mark uv_default_loop() as not thread safe (rayrase)
41+
42+
* win, pipe: null-initialize stream->shutdown_req (Jameson Nash)
43+
44+
* tty, win: get SetWinEventHook pointer at startup (Bartosz Sosnowski)
45+
46+
* test: no extra new line in skipped test output (Bartosz Sosnowski)
47+
48+
* pipe: allow access from other users (Bartosz Sosnowski)
49+
50+
* unix,win: add uv_if_{indextoname,indextoiid} (Pekka Nikander)
51+
52+
153
2017.10.03, Version 1.15.0 (Stable), 8b69ce1419d2958011d415a636810705c36c2cc2
254

355
Changes since version 1.14.1:

deps/uv/Makefile.am

+1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
212212
test/test-pipe-server-close.c \
213213
test/test-pipe-close-stdout-read-stdin.c \
214214
test/test-pipe-set-non-blocking.c \
215+
test/test-pipe-set-fchmod.c \
215216
test/test-platform-output.c \
216217
test/test-poll.c \
217218
test/test-poll-close.c \

deps/uv/appveyor.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
version: v1.15.0.build{build}
1+
version: v1.16.1.build{build}
22

33
init:
44
- git config --global core.autocrlf true

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.15.0], [https://github.com/libuv/libuv/issues])
16+
AC_INIT([libuv], [1.16.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])

deps/uv/docs/src/fs.rst

+151
Original file line numberDiff line numberDiff line change
@@ -353,3 +353,154 @@ Helper functions
353353
any attempts to close it or to use it after closing the fd may lead to malfunction.
354354
355355
.. versionadded:: 1.12.0
356+
357+
File open constants
358+
-------------------
359+
360+
.. c:macro:: UV_FS_O_APPEND
361+
362+
The file is opened in append mode. Before each write, the file offset is
363+
positioned at the end of the file.
364+
365+
.. c:macro:: UV_FS_O_CREAT
366+
367+
The file is created if it does not already exist.
368+
369+
.. c:macro:: UV_FS_O_DIRECT
370+
371+
File I/O is done directly to and from user-space buffers, which must be
372+
aligned. Buffer size and address should be a multiple of the physical sector
373+
size of the block device.
374+
375+
.. note::
376+
`UV_FS_O_DIRECT` is supported on Linux, and on Windows via
377+
`FILE_FLAG_NO_BUFFERING <https://msdn.microsoft.com/en-us/library/windows/desktop/cc644950.aspx>`_.
378+
`UV_FS_O_DIRECT` is not supported on macOS.
379+
380+
.. c:macro:: UV_FS_O_DIRECTORY
381+
382+
If the path is not a directory, fail the open.
383+
384+
.. note::
385+
`UV_FS_O_DIRECTORY` is not supported on Windows.
386+
387+
.. c:macro:: UV_FS_O_DSYNC
388+
389+
The file is opened for synchronous I/O. Write operations will complete once
390+
all data and a minimum of metadata are flushed to disk.
391+
392+
.. note::
393+
`UV_FS_O_DSYNC` is supported on Windows via
394+
`FILE_FLAG_WRITE_THROUGH <https://msdn.microsoft.com/en-us/library/windows/desktop/cc644950.aspx>`_.
395+
396+
.. c:macro:: UV_FS_O_EXCL
397+
398+
If the `O_CREAT` flag is set and the file already exists, fail the open.
399+
400+
.. note::
401+
In general, the behavior of `O_EXCL` is undefined if it is used without
402+
`O_CREAT`. There is one exception: on Linux 2.6 and later, `O_EXCL` can
403+
be used without `O_CREAT` if pathname refers to a block device. If the
404+
block device is in use by the system (e.g., mounted), the open will fail
405+
with the error `EBUSY`.
406+
407+
.. c:macro:: UV_FS_O_EXLOCK
408+
409+
Atomically obtain an exclusive lock.
410+
411+
.. note::
412+
`UV_FS_O_EXLOCK` is only supported on macOS.
413+
414+
.. c:macro:: UV_FS_O_NOATIME
415+
416+
Do not update the file access time when the file is read.
417+
418+
.. note::
419+
`UV_FS_O_NOATIME` is not supported on Windows.
420+
421+
.. c:macro:: UV_FS_O_NOCTTY
422+
423+
If the path identifies a terminal device, opening the path will not cause
424+
that terminal to become the controlling terminal for the process (if the
425+
process does not already have one).
426+
427+
.. note::
428+
`UV_FS_O_NOCTTY` is not supported on Windows.
429+
430+
.. c:macro:: UV_FS_O_NOFOLLOW
431+
432+
If the path is a symbolic link, fail the open.
433+
434+
.. note::
435+
`UV_FS_O_NOFOLLOW` is not supported on Windows.
436+
437+
.. c:macro:: UV_FS_O_NONBLOCK
438+
439+
Open the file in nonblocking mode if possible.
440+
441+
.. note::
442+
`UV_FS_O_NONBLOCK` is not supported on Windows.
443+
444+
.. c:macro:: UV_FS_O_RANDOM
445+
446+
Access is intended to be random. The system can use this as a hint to
447+
optimize file caching.
448+
449+
.. note::
450+
`UV_FS_O_RANDOM` is only supported on Windows via
451+
`FILE_FLAG_RANDOM_ACCESS <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.
452+
453+
.. c:macro:: UV_FS_O_RDONLY
454+
455+
Open the file for read-only access.
456+
457+
.. c:macro:: UV_FS_O_RDWR
458+
459+
Open the file for read-write access.
460+
461+
.. c:macro:: UV_FS_O_SEQUENTIAL
462+
463+
Access is intended to be sequential from beginning to end. The system can
464+
use this as a hint to optimize file caching.
465+
466+
.. note::
467+
`UV_FS_O_SEQUENTIAL` is only supported on Windows via
468+
`FILE_FLAG_SEQUENTIAL_SCAN <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.
469+
470+
.. c:macro:: UV_FS_O_SHORT_LIVED
471+
472+
The file is temporary and should not be flushed to disk if possible.
473+
474+
.. note::
475+
`UV_FS_O_SHORT_LIVED` is only supported on Windows via
476+
`FILE_ATTRIBUTE_TEMPORARY <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.
477+
478+
.. c:macro:: UV_FS_O_SYMLINK
479+
480+
Open the symbolic link itself rather than the resource it points to.
481+
482+
.. c:macro:: UV_FS_O_SYNC
483+
484+
The file is opened for synchronous I/O. Write operations will complete once
485+
all data and all metadata are flushed to disk.
486+
487+
.. note::
488+
`UV_FS_O_SYNC` is supported on Windows via
489+
`FILE_FLAG_WRITE_THROUGH <https://msdn.microsoft.com/en-us/library/windows/desktop/cc644950.aspx>`_.
490+
491+
.. c:macro:: UV_FS_O_TEMPORARY
492+
493+
The file is temporary and should not be flushed to disk if possible.
494+
495+
.. note::
496+
`UV_FS_O_TEMPORARY` is only supported on Windows via
497+
`FILE_ATTRIBUTE_TEMPORARY <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.
498+
499+
.. c:macro:: UV_FS_O_TRUNC
500+
501+
If the file exists and is a regular file, and the file is opened
502+
successfully for write access, its length shall be truncated to zero.
503+
504+
.. c:macro:: UV_FS_O_WRONLY
505+
506+
Open the file for write-only access.

deps/uv/docs/src/loop.rst

+3
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ API
8686
should) be closed with :c:func:`uv_loop_close` so the resources associated
8787
with it are freed.
8888
89+
.. warning::
90+
This function is not thread safe.
91+
8992
.. c:function:: int uv_run(uv_loop_t* loop, uv_run_mode mode)
9093
9194
This function runs the event loop. It will act differently depending on the

deps/uv/docs/src/misc.rst

+66
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ Data types
5959
Abstract representation of a file descriptor. On Unix systems this is a
6060
`typedef` of `int` and on Windows a `HANDLE`.
6161

62+
.. c:type:: uv_pid_t
63+
64+
Cross platform representation of a `pid_t`.
65+
66+
.. versionadded:: 1.16.0
67+
6268
.. c:type:: uv_rusage_t
6369
6470
Data type for resource usage results.
@@ -221,6 +227,12 @@ API
221227
On Windows not all fields are set, the unsupported fields are filled with zeroes.
222228
See :c:type:`uv_rusage_t` for more details.
223229
230+
.. c:function:: uv_pid_t uv_os_getppid(void)
231+
232+
Returns the parent process ID.
233+
234+
.. versionadded:: 1.16.0
235+
224236
.. c:function:: int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count)
225237
226238
Gets information about the CPUs on the system. The `cpu_infos` array will
@@ -271,6 +283,60 @@ API
271283
and :man:`inet_pton(3)`. On success they return 0. In case of error
272284
the target `dst` pointer is unmodified.
273285
286+
.. c:macro:: UV_IF_NAMESIZE
287+
288+
Maximum IPv6 interface identifier name length. Defined as
289+
`IFNAMSIZ` on Unix and `IF_NAMESIZE` on Linux and Windows.
290+
291+
.. versionadded:: 1.16.0
292+
293+
.. c:function:: int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size)
294+
295+
IPv6-capable implementation of :man:`if_indextoname(3)`. When called,
296+
`*size` indicates the length of the `buffer`, which is used to store the
297+
result.
298+
On success, zero is returned, `buffer` contains the interface name, and
299+
`*size` represents the string length of the `buffer`, excluding the NUL
300+
terminator byte from `*size`. On error, a negative result is
301+
returned. If `buffer` is not large enough to hold the result,
302+
`UV_ENOBUFS` is returned, and `*size` represents the necessary size in
303+
bytes, including the NUL terminator byte into the `*size`.
304+
305+
On Unix, the returned interface name can be used directly as an
306+
interface identifier in scoped IPv6 addresses, e.g.
307+
`fe80::abc:def1:2345%en0`.
308+
309+
On Windows, the returned interface cannot be used as an interface
310+
identifier, as Windows uses numerical interface identifiers, e.g.
311+
`fe80::abc:def1:2345%5`.
312+
313+
To get an interface identifier in a cross-platform compatible way,
314+
use `uv_if_indextoiid()`.
315+
316+
Example:
317+
318+
::
319+
320+
char ifname[UV_IF_NAMESIZE];
321+
size_t size = sizeof(ifname);
322+
uv_if_indextoname(sin6->sin6_scope_id, ifname, &size);
323+
324+
.. versionadded:: 1.16.0
325+
326+
.. c:function:: int uv_if_indextoiid(unsigned int ifindex, char* buffer, size_t* size)
327+
328+
Retrieves a network interface identifier suitable for use in an IPv6 scoped
329+
address. On Windows, returns the numeric `ifindex` as a string. On all other
330+
platforms, `uv_if_indextoname()` is called. The result is written to
331+
`buffer`, with `*size` indicating the length of `buffer`. If `buffer` is not
332+
large enough to hold the result, then `UV_ENOBUFS` is returned, and `*size`
333+
represents the size, including the NUL byte, required to hold the
334+
result.
335+
336+
See `uv_if_indextoname` for further details.
337+
338+
.. versionadded:: 1.16.0
339+
274340
.. c:function:: int uv_exepath(char* buffer, size_t* size)
275341
276342
Gets the executable path.

deps/uv/docs/src/pipe.rst

+9
Original file line numberDiff line numberDiff line change
@@ -102,3 +102,12 @@ API
102102
and call ``uv_accept(pipe, handle)``.
103103
104104
.. seealso:: The :c:type:`uv_stream_t` API functions also apply.
105+
106+
.. c:function:: int uv_pipe_chmod(uv_pipe_t* handle, int flags)
107+
108+
Alters pipe permissions, allowing it to be accessed from processes run by
109+
different users. Makes the pipe writable or readable by all users. Mode can
110+
be ``UV_WRITABLE``, ``UV_READABLE`` or ``UV_WRITABLE | UV_READABLE``. This
111+
function is blocking.
112+
113+
.. versionadded:: 1.16.0

deps/uv/include/uv-errno.h

+6
Original file line numberDiff line numberDiff line change
@@ -422,4 +422,10 @@
422422
# define UV__EREMOTEIO (-4030)
423423
#endif
424424

425+
#if defined(ENOTTY) && !defined(_WIN32)
426+
# define UV__ENOTTY (-ENOTTY)
427+
#else
428+
# define UV__ENOTTY (-4029)
429+
#endif
430+
425431
#endif /* UV_ERRNO_H_ */

0 commit comments

Comments
 (0)