Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

deps: upgrade libuv to 1.16.1 #16835

Merged
merged 1 commit into from
Nov 10, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions deps/uv/.mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Marc Schlaich <[email protected]> <[email protected]>
Michael <[email protected]>
Michael Neumann <[email protected]> <[email protected]>
Nicholas Vavilov <[email protected]>
Nick Logan <[email protected]> <[email protected]>
Rasmus Christian Pedersen <[email protected]>
Rasmus Christian Pedersen <[email protected]> <[email protected]>
Robert Mustacchi <[email protected]> <[email protected]>
Expand Down
3 changes: 3 additions & 0 deletions deps/uv/AUTHORS
Original file line number Diff line number Diff line change
Expand Up @@ -315,3 +315,6 @@ darobs <[email protected]>
Zheng, Lei <[email protected]>
Carlo Marcelo Arenas Belón <[email protected]>
Scott Parker <[email protected]>
Wade Brainerd <[email protected]>
rayrase <[email protected]>
Pekka Nikander <[email protected]>
52 changes: 52 additions & 0 deletions deps/uv/ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,55 @@
2017.11.11, Version 1.16.1 (Stable), 4056fbe46493ef87237e307e0025e551db875e13

Changes since version 1.16.0:

* unix: move net/if.h include (cjihrig)

* win: fix undeclared NDIS_IF_MAX_STRING_SIZE (Nick Logan)


2017.11.07, Version 1.16.0 (Stable), d68779f0ea742918f653b9c20237460271c39aeb

Changes since version 1.15.0:

* win: change st_blksize from `2048` to `4096` (Joran Dirk Greef)

* unix,win: add fs open flags, map O_DIRECT|O_DSYNC (Joran Dirk Greef)

* win, fs: fix non-symlink reparse points (Wade Brainerd)

* test: fix -Wstrict-prototypes warnings (Ben Noordhuis)

* unix, windows: map ENOTTY errno (Ben Noordhuis)

* unix: fall back to fsync() if F_FULLFSYNC fails (Joran Dirk Greef)

* unix: do not close invalid kqueue fd after fork (jBarz)

* zos: reset epoll data after fork (jBarz)

* zos: skip fork_threadpool_queue_work_simple (jBarz)

* test: keep platform_output as first test (Bartosz Sosnowski)

* win: fix non-English dlopen error message (Bartosz Sosnowski)

* unix,win: add uv_os_getppid() (cjihrig)

* test: fix const qualification compiler warning (Ben Noordhuis)

* doc: mark uv_default_loop() as not thread safe (rayrase)

* win, pipe: null-initialize stream->shutdown_req (Jameson Nash)

* tty, win: get SetWinEventHook pointer at startup (Bartosz Sosnowski)

* test: no extra new line in skipped test output (Bartosz Sosnowski)

* pipe: allow access from other users (Bartosz Sosnowski)

* unix,win: add uv_if_{indextoname,indextoiid} (Pekka Nikander)


2017.10.03, Version 1.15.0 (Stable), 8b69ce1419d2958011d415a636810705c36c2cc2

Changes since version 1.14.1:
Expand Down
1 change: 1 addition & 0 deletions deps/uv/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,7 @@ test_run_tests_SOURCES = test/blackhole-server.c \
test/test-pipe-server-close.c \
test/test-pipe-close-stdout-read-stdin.c \
test/test-pipe-set-non-blocking.c \
test/test-pipe-set-fchmod.c \
test/test-platform-output.c \
test/test-poll.c \
test/test-poll-close.c \
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/appveyor.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: v1.15.0.build{build}
version: v1.16.1.build{build}

init:
- git config --global core.autocrlf true
Expand Down
2 changes: 1 addition & 1 deletion deps/uv/configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

AC_PREREQ(2.57)
AC_INIT([libuv], [1.15.0], [https://github.com/libuv/libuv/issues])
AC_INIT([libuv], [1.16.1], [https://github.com/libuv/libuv/issues])
AC_CONFIG_MACRO_DIR([m4])
m4_include([m4/libuv-extra-automake-flags.m4])
m4_include([m4/as_case.m4])
Expand Down
151 changes: 151 additions & 0 deletions deps/uv/docs/src/fs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -353,3 +353,154 @@ Helper functions
any attempts to close it or to use it after closing the fd may lead to malfunction.

.. versionadded:: 1.12.0

File open constants
-------------------

.. c:macro:: UV_FS_O_APPEND

The file is opened in append mode. Before each write, the file offset is
positioned at the end of the file.

.. c:macro:: UV_FS_O_CREAT

The file is created if it does not already exist.

.. c:macro:: UV_FS_O_DIRECT

File I/O is done directly to and from user-space buffers, which must be
aligned. Buffer size and address should be a multiple of the physical sector
size of the block device.

.. note::
`UV_FS_O_DIRECT` is supported on Linux, and on Windows via
`FILE_FLAG_NO_BUFFERING <https://msdn.microsoft.com/en-us/library/windows/desktop/cc644950.aspx>`_.
`UV_FS_O_DIRECT` is not supported on macOS.

.. c:macro:: UV_FS_O_DIRECTORY

If the path is not a directory, fail the open.

.. note::
`UV_FS_O_DIRECTORY` is not supported on Windows.

.. c:macro:: UV_FS_O_DSYNC

The file is opened for synchronous I/O. Write operations will complete once
all data and a minimum of metadata are flushed to disk.

.. note::
`UV_FS_O_DSYNC` is supported on Windows via
`FILE_FLAG_WRITE_THROUGH <https://msdn.microsoft.com/en-us/library/windows/desktop/cc644950.aspx>`_.

.. c:macro:: UV_FS_O_EXCL

If the `O_CREAT` flag is set and the file already exists, fail the open.

.. note::
In general, the behavior of `O_EXCL` is undefined if it is used without
`O_CREAT`. There is one exception: on Linux 2.6 and later, `O_EXCL` can
be used without `O_CREAT` if pathname refers to a block device. If the
block device is in use by the system (e.g., mounted), the open will fail
with the error `EBUSY`.

.. c:macro:: UV_FS_O_EXLOCK

Atomically obtain an exclusive lock.

.. note::
`UV_FS_O_EXLOCK` is only supported on macOS.

.. c:macro:: UV_FS_O_NOATIME

Do not update the file access time when the file is read.

.. note::
`UV_FS_O_NOATIME` is not supported on Windows.

.. c:macro:: UV_FS_O_NOCTTY

If the path identifies a terminal device, opening the path will not cause
that terminal to become the controlling terminal for the process (if the
process does not already have one).

.. note::
`UV_FS_O_NOCTTY` is not supported on Windows.

.. c:macro:: UV_FS_O_NOFOLLOW

If the path is a symbolic link, fail the open.

.. note::
`UV_FS_O_NOFOLLOW` is not supported on Windows.

.. c:macro:: UV_FS_O_NONBLOCK

Open the file in nonblocking mode if possible.

.. note::
`UV_FS_O_NONBLOCK` is not supported on Windows.

.. c:macro:: UV_FS_O_RANDOM

Access is intended to be random. The system can use this as a hint to
optimize file caching.

.. note::
`UV_FS_O_RANDOM` is only supported on Windows via
`FILE_FLAG_RANDOM_ACCESS <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.

.. c:macro:: UV_FS_O_RDONLY

Open the file for read-only access.

.. c:macro:: UV_FS_O_RDWR

Open the file for read-write access.

.. c:macro:: UV_FS_O_SEQUENTIAL

Access is intended to be sequential from beginning to end. The system can
use this as a hint to optimize file caching.

.. note::
`UV_FS_O_SEQUENTIAL` is only supported on Windows via
`FILE_FLAG_SEQUENTIAL_SCAN <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.

.. c:macro:: UV_FS_O_SHORT_LIVED

The file is temporary and should not be flushed to disk if possible.

.. note::
`UV_FS_O_SHORT_LIVED` is only supported on Windows via
`FILE_ATTRIBUTE_TEMPORARY <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.

.. c:macro:: UV_FS_O_SYMLINK

Open the symbolic link itself rather than the resource it points to.

.. c:macro:: UV_FS_O_SYNC

The file is opened for synchronous I/O. Write operations will complete once
all data and all metadata are flushed to disk.

.. note::
`UV_FS_O_SYNC` is supported on Windows via
`FILE_FLAG_WRITE_THROUGH <https://msdn.microsoft.com/en-us/library/windows/desktop/cc644950.aspx>`_.

.. c:macro:: UV_FS_O_TEMPORARY

The file is temporary and should not be flushed to disk if possible.

.. note::
`UV_FS_O_TEMPORARY` is only supported on Windows via
`FILE_ATTRIBUTE_TEMPORARY <https://msdn.microsoft.com/en-us/library/windows/desktop/aa363858.aspx>`_.

.. c:macro:: UV_FS_O_TRUNC

If the file exists and is a regular file, and the file is opened
successfully for write access, its length shall be truncated to zero.

.. c:macro:: UV_FS_O_WRONLY

Open the file for write-only access.
3 changes: 3 additions & 0 deletions deps/uv/docs/src/loop.rst
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,9 @@ API
should) be closed with :c:func:`uv_loop_close` so the resources associated
with it are freed.

.. warning::
This function is not thread safe.

.. c:function:: int uv_run(uv_loop_t* loop, uv_run_mode mode)

This function runs the event loop. It will act differently depending on the
Expand Down
66 changes: 66 additions & 0 deletions deps/uv/docs/src/misc.rst
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,12 @@ Data types
Abstract representation of a file descriptor. On Unix systems this is a
`typedef` of `int` and on Windows a `HANDLE`.

.. c:type:: uv_pid_t

Cross platform representation of a `pid_t`.

.. versionadded:: 1.16.0

.. c:type:: uv_rusage_t

Data type for resource usage results.
Expand Down Expand Up @@ -221,6 +227,12 @@ API
On Windows not all fields are set, the unsupported fields are filled with zeroes.
See :c:type:`uv_rusage_t` for more details.

.. c:function:: uv_pid_t uv_os_getppid(void)

Returns the parent process ID.

.. versionadded:: 1.16.0

.. c:function:: int uv_cpu_info(uv_cpu_info_t** cpu_infos, int* count)

Gets information about the CPUs on the system. The `cpu_infos` array will
Expand Down Expand Up @@ -271,6 +283,60 @@ API
and :man:`inet_pton(3)`. On success they return 0. In case of error
the target `dst` pointer is unmodified.

.. c:macro:: UV_IF_NAMESIZE

Maximum IPv6 interface identifier name length. Defined as
`IFNAMSIZ` on Unix and `IF_NAMESIZE` on Linux and Windows.

.. versionadded:: 1.16.0

.. c:function:: int uv_if_indextoname(unsigned int ifindex, char* buffer, size_t* size)

IPv6-capable implementation of :man:`if_indextoname(3)`. When called,
`*size` indicates the length of the `buffer`, which is used to store the
result.
On success, zero is returned, `buffer` contains the interface name, and
`*size` represents the string length of the `buffer`, excluding the NUL
terminator byte from `*size`. On error, a negative result is
returned. If `buffer` is not large enough to hold the result,
`UV_ENOBUFS` is returned, and `*size` represents the necessary size in
bytes, including the NUL terminator byte into the `*size`.

On Unix, the returned interface name can be used directly as an
interface identifier in scoped IPv6 addresses, e.g.
`fe80::abc:def1:2345%en0`.

On Windows, the returned interface cannot be used as an interface
identifier, as Windows uses numerical interface identifiers, e.g.
`fe80::abc:def1:2345%5`.

To get an interface identifier in a cross-platform compatible way,
use `uv_if_indextoiid()`.

Example:

::

char ifname[UV_IF_NAMESIZE];
size_t size = sizeof(ifname);
uv_if_indextoname(sin6->sin6_scope_id, ifname, &size);

.. versionadded:: 1.16.0

.. c:function:: int uv_if_indextoiid(unsigned int ifindex, char* buffer, size_t* size)

Retrieves a network interface identifier suitable for use in an IPv6 scoped
address. On Windows, returns the numeric `ifindex` as a string. On all other
platforms, `uv_if_indextoname()` is called. The result is written to
`buffer`, with `*size` indicating the length of `buffer`. If `buffer` is not
large enough to hold the result, then `UV_ENOBUFS` is returned, and `*size`
represents the size, including the NUL byte, required to hold the
result.

See `uv_if_indextoname` for further details.

.. versionadded:: 1.16.0

.. c:function:: int uv_exepath(char* buffer, size_t* size)

Gets the executable path.
Expand Down
9 changes: 9 additions & 0 deletions deps/uv/docs/src/pipe.rst
Original file line number Diff line number Diff line change
Expand Up @@ -102,3 +102,12 @@ API
and call ``uv_accept(pipe, handle)``.

.. seealso:: The :c:type:`uv_stream_t` API functions also apply.

.. c:function:: int uv_pipe_chmod(uv_pipe_t* handle, int flags)

Alters pipe permissions, allowing it to be accessed from processes run by
different users. Makes the pipe writable or readable by all users. Mode can
be ``UV_WRITABLE``, ``UV_READABLE`` or ``UV_WRITABLE | UV_READABLE``. This
function is blocking.

.. versionadded:: 1.16.0
6 changes: 6 additions & 0 deletions deps/uv/include/uv-errno.h
Original file line number Diff line number Diff line change
Expand Up @@ -422,4 +422,10 @@
# define UV__EREMOTEIO (-4030)
#endif

#if defined(ENOTTY) && !defined(_WIN32)
# define UV__ENOTTY (-ENOTTY)
#else
# define UV__ENOTTY (-4029)
#endif

#endif /* UV_ERRNO_H_ */
Loading