- 22 Apr, 2018 4 commits
-
-
cjihrig authored
Changes since version 1.20.1: * zos: use custom semaphore (jBarz) * win: fix registry API error handling (Kyle Farnung) * build: add support for 64-bit AIX (Richard Lau) * aix: guard STATIC_ASSERT for glibc work around (Richard Lau)
-
Richard Lau authored
On 64-bit AIX `sizeof(uv_sem_t)` is 4 bytes which is not large enough to store a pointer. AIX doesn't use glibc so the work around introduced by https://github.com/libuv/libuv/pull/1795 doesn't apply, so guard the STATIC_ASSERT so that it is only used when the custom semaphore implementation is used. Refs: https://github.com/nodejs/node/pull/20129 Refs: https://github.com/libuv/libuv/pull/1795 PR-URL: https://github.com/libuv/libuv/pull/1808 Reviewed-By:
Anna Henningsen <anna@addaleax.net> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Richard Lau authored
Pass -Dtarget_arch=ppc64 to gyp_uv.py to activate. Refs: https://github.com/nodejs/node/pull/20129 Refs: https://github.com/libuv/libuv/pull/1795 PR-URL: https://github.com/libuv/libuv/pull/1807 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Kyle Farnung authored
The Reg* APIs on Windows don't use GetLastError() to report failures. The errors are returned directly from the call. For systems which don't have one of the values GetLastError() can end up returning 0 to the caller, indicating success. The caller then assumes that the data is valid and can attempt to execute on garbage data. This change fixes the flow to correctly return the error to the caller. PR-URL: https://github.com/libuv/libuv/pull/1811 Reviewed-By:
Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 18 Apr, 2018 5 commits
-
-
John Barboza authored
The System V semaphores on z/OS require explicit ending of the worker threads and cleanup at process exit. The user will have to manually cleanup these resources that are left behind. Instead use the custom semaphore implementation which uses posix mutexes and condition variables which are cleaned up automatically on process exit. PR-URL: https://github.com/libuv/libuv/pull/1805 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
cjihrig authored
Fixes: https://github.com/libuv/libuv/issues/1801
-
cjihrig authored
-
cjihrig authored
Changes since version 1.20.0: * doc,fs: improve documentation (Bob Burger) * win: return a floored double from uv_uptime() (Refael Ackermann) * doc: clarify platform specific pipe naming (Thomas Versteeg) * unix: fix uv_pipe_chmod() on macOS (zzzjim) * unix: work around glibc semaphore race condition (Anna Henningsen) * tcp,openbsd: disable Unix TCP check for IPV6_ONLY (Alex Arslan) * test,openbsd: use RETURN_SKIP in UDP IPv6 tests (Alex Arslan) * test,openbsd: fix multicast test (Alex Arslan) * Revert "win, fs: use FILE_WRITE_ATTRIBUTES when opening files" (cjihrig)
-
cjihrig authored
This reverts commit aa1beaa0. This commit was causing EPERM errors in Node.js. Fixes: https://github.com/nodejs/node/issues/20112 PR-URL: https://github.com/libuv/libuv/pull/1800 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Bartosz Sosnowski <bartosz@janeasystems.com>
-
- 17 Apr, 2018 4 commits
-
-
Alex Arslan authored
Use the same code path as other BSDs. Upstreamed from the OpenBSD Ports Collection. PR-URL: https://github.com/libuv/libuv/pull/1797 Reviewed-By:
Aaron Bieber <deftly@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
Alex Arslan authored
IPv6-IPv4 dual stack is not supported on OpenBSD. Upstreamed from the OpenBSD Ports Collection. PR-URL: https://github.com/libuv/libuv/pull/1797 Reviewed-By:
Aaron Bieber <deftly@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
Alex Arslan authored
OpenBSD does not support setting IPV6_ONLY to anything but 1; OpenBSD does not support IPv4-mapped IPv6 addresses. Upstreamed from OpenBSD Ports Collection. PR-URL: https://github.com/libuv/libuv/pull/1797 Reviewed-By:
Aaron Bieber <deftly@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
Anna Henningsen authored
Hack around https://sourceware.org/bugzilla/show_bug.cgi?id=12674 by providing a custom implementation for glibc < 2.21 in terms of other concurrency primitives. The glibc implementation on these versions is inherently unsafe. So, while libuv and Node.js support those versions, it seems to make sense for libuv in its functionality as a platform abstraction library to provide a working version. Fixes: https://github.com/nodejs/node/issues/19903 PR-URL: https://github.com/libuv/libuv/pull/1795 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 12 Apr, 2018 1 commit
-
-
zzzjim authored
According to its man page, there is a bug in fstat() on macOS related to pipes. This commit replaces a fstat() call in uv_pipe_chmod() with a stat() call in order to get the correct permissions. PR-URL: https://github.com/libuv/libuv/pull/1635 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 07 Apr, 2018 2 commits
-
-
Thomas Versteeg authored
Pipe naming conventions differ on Windows and Unix. This commit calls out the naming conventions and requirements. PR-URL: https://github.com/libuv/libuv/pull/1765 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Bartosz Sosnowski <bartosz@janeasystems.com>
-
Refael Ackermann authored
This makes Windows consistent with other platforms. Refs: https://github.com/libuv/libuv/issues/1295 Fixes: https://github.com/libuv/libuv/issues/1294 PR-URL: https://github.com/libuv/libuv/pull/1296 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 06 Apr, 2018 1 commit
-
-
Bob Burger authored
Update description of `uv_fs_readlink` and `uv_fs_realpath` to describe where the resulting string goes. Fixes: https://github.com/libuv/libuv/issues/1771 PR_URL: https://github.com/libuv/libuv/pull/1786 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 02 Apr, 2018 4 commits
-
-
cjihrig authored
Fixes: https://github.com/libuv/libuv/issues/1785
-
cjihrig authored
-
cjihrig authored
Changes since version 1.19.2: * unix,spawn: respect user stdio flags for new pipe (Jameson Nash) * Revert "Revert "unix,tcp: avoid marking server sockets connected"" (Jameson Nash) * req: revisions to uv_req_t handling (Jameson Nash) * win: remove unnecessary initialization (cjihrig) * win: update uv_os_homedir() to use uv_os_getenv() (cjihrig) * test: fix tcp_oob test flakiness (Santiago Gimeno) * posix: fix uv__pollfds_del() for invalidated fd's (Jesse Gorzinski) * doc: README: add note on installing gyp (Jamie Davis) * unix: refactor uv_os_homedir to use uv_os_getenv (Santiago Gimeno) * unix: fix several instances of lost errno (Michael Kilburn) * win,tty: update several TODO comments (Ruslan Bekenev) * unix: add UV_FS_COPYFILE_FICLONE support (cjihrig) * test: fix connect_unspecified (Santiago Gimeno) * unix,win: add UV_FS_COPYFILE_FICLONE_FORCE support (cjihrig) * win: use long directory name for handle->dirw (Nicholas Vavilov) * build: build with -D_FILE_OFFSET_BITS=64 again (Ben Noordhuis) * win, fs: fix uv_fs_unlink for +R -A files (Bartosz Sosnowski) * win, fs: use FILE_WRITE_ATTRIBUTES when opening files (Bartosz Sosnowski) * unix: use __PASE__ on IBM i platforms (Jesse Gorzinski) * test,freebsd: fix flaky poll tests (Santiago Gimeno) * test: increase connection timeout to 1 second (jBarz) * win,tcp: handle canceled connect with ECANCELED (Jameson Nash)
-
Jameson Nash authored
This aligns Windows behavior with Unix. Refs: https://github.com/JuliaLang/julia/pull/26545 PR-URL: https://github.com/libuv/libuv/pull/1783 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 31 Mar, 2018 3 commits
-
-
John Barboza authored
The previous timeout of 1 millisecond could lead to intermittent failures. Increase it to 1 second to be on the safe side. PR-URL: https://github.com/libuv/libuv/pull/1776 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Santiago Gimeno authored
On FreeBSD `close()` can fail with `ECONNRESET` if the socket was shutdown by the peer before all pending data was delivered. PR-URL: https://github.com/libuv/libuv/pull/1780 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
ThePrez authored
IBM i compilers now predefine __PASE__. This commit updates code to rely on that rather than manually setting (or relying on) a _PASE definition. PR-URL: https://github.com/libuv/libuv/pull/1782 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 29 Mar, 2018 1 commit
-
-
Bartosz Sosnowski authored
This allows for running uv_fs_fchmod on files with Archive flag cleared Refs: https://github.com/nodejs/node/issues/12803 PR-URL: https://github.com/libuv/libuv/pull/1777 Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 21 Mar, 2018 2 commits
-
-
Bartosz Sosnowski authored
uv_fs_unlink would fail for read-only files with Archive attribute cleared. This fixes this issue. PR-URL: https://github.com/libuv/libuv/pull/1774 Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
Ben Noordhuis authored
Faulty logic in commit fdf7c2ad ("build: split off tests into separate gyp file") accidentally disabled `-D_FILE_OFFSET_BITS=64` on Unices, breaking file operations on files > 2 GB on 32 bits platforms. Fixes: https://github.com/nodejs/node/issues/19455 PR-URL: https://github.com/libuv/libuv/pull/1779 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 19 Mar, 2018 1 commit
-
-
Nikolai Vavilov authored
`uv_relative_path` assumes `dir` is a prefix of `filename`, which is not the case when `handle->dirw` is a short path. Refs: https://github.com/nodejs/node/issues/19170 PR-URL: https://github.com/libuv/libuv/pull/1769 Reviewed-By:
Bartosz Sosnowski <bartosz@janeasystems.com>
-
- 16 Mar, 2018 1 commit
-
-
cjihrig authored
UV_FS_COPYFILE_FICLONE_FORCE attempts to use copy-on-write semantics in uv_fs_copyfile(). If CoW is not available, an error is returned. Refs: https://github.com/libuv/libuv/pull/1465 Refs: https://github.com/libuv/libuv/pull/1491 PR-URL: https://github.com/libuv/libuv/pull/1768 Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 08 Mar, 2018 1 commit
-
-
Santiago Gimeno authored
So it passes on boxes without ipv6 support. Fixes: https://github.com/libuv/libuv/issues/1766 PR-URL: https://github.com/libuv/libuv/pull/1767 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 05 Mar, 2018 2 commits
-
-
cjihrig authored
UV_FS_COPYFILE_FICLONE attemps to use copy-on-write semantics in uv_fs_copyfile(). If CoW is not available, it falls back to a normal copy operation. Refs: https://github.com/libuv/libuv/pull/1465 PR-URL: https://github.com/libuv/libuv/pull/1491 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
Ruslan Bekenev authored
uv_process_tty_accept_req() and uv_process_tty_connect_req() are marked with "TODO: remove me" comments. This commit updates the comments to give a better explanation of why they exist. PR-URL: https://github.com/libuv/libuv/pull/1335 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 03 Mar, 2018 2 commits
-
-
Michael Kilburn authored
This commit preserves errno properly in the following cases: - new_socket() was previously discarding errno in some cases, and replacing it with the result of getsockname(). - uv__close() was not preserving errno when __MVS__ is defined. Fixes: https://github.com/libuv/libuv/issues/1756 PR-URL: https://github.com/libuv/libuv/pull/1763 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
Santiago Gimeno authored
PR-URL: https://github.com/libuv/libuv/pull/1760 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 28 Feb, 2018 3 commits
-
-
Jamie Davis authored
Problem: The instructions assume you have already installed gyp to build/gyp. If you run 'make' without doing so, it asks you to read the README, which does not actually tell you about installing gyp. Solution: Add a one-liner `git clone` command to the setup instructions. PR-URL: https://github.com/libuv/libuv/pull/1712 Reviewed-By:
Saúl Ibarra Corretgé <saghul@gmail.com>
-
ThePrez authored
Fix bug in `uv__pollfds_del()` where only one invalidated fd is purged. Calls to `uv__platform_invalidate_fd()` will invalidate descriptors (rather than removing them) when `poll()` is iterating. Under stressful conditions, this may happen more frequently than `uv__pollfds_del()` is called. So, when uv__pollfds_del() is called with a value of -1, it should iterate the entire array to remove all invalidated descriptors. PR-URL: https://github.com/libuv/libuv/pull/1738 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
Santiago Gimeno authored
`EAGAIN` is an acceptable return value for `read()` and the test was not taking it into account. Fixes: https://github.com/libuv/libuv/issues/1602 PR-URL: https://github.com/libuv/libuv/pull/1759 Reviewed-By:
Colin Ihrig <cjihrig@gmail.com>
-
- 27 Feb, 2018 1 commit
-
-
cjihrig authored
This commit refactors uv_os_homedir() to to use uv_os_getenv() to retrieve the USERPROFILE environment variable. This removes a fair amount of duplicated code, while introducing the following changes: 1. The function no longer returns UV_EIO when USERPROFILE is longer than MAX_PATH. This can be reinstated by adding a check for r == 0 && *size >= MAX_PATH. 2. The USERPROFILE string is now a char*, meaning that it must be converted from utf8 to utf16 by uv_os_getenv(). Refs: https://github.com/libuv/libuv/pull/1760 PR-URL: https://github.com/libuv/libuv/pull/1761 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-
- 26 Feb, 2018 1 commit
-
-
cjihrig authored
There is no need to set req->fs.info.bufs to NULL and then memset() the entire req->fs struct on the next line. Refs: https://github.com/libuv/libuv/pull/1752#discussion_r169953154 PR-URL: https://github.com/libuv/libuv/pull/1762 Reviewed-By:
Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl>
-
- 25 Feb, 2018 1 commit
-
-
Jameson Nash authored
- Remove the `active_reqs` queue, which is never used. There are more efficient per-stream queues that `libuv` uses whenever it needs this information, so duplicating it and managing it here seems like unnecessary extra space and work. - Unix `uv_loop_init` didn't explicitly initialize. `loop->active_handles` (although it did memset the whole struct to 0, so it wasn't wrong previously, just inconsistent). - Consolidate repeated code for `uv__has_active_reqs`. - Change `uv__loop_alive` to use the helper functions (mirroring the unix copy of the same function). - Initialize some more uv_stream_t fields in init, rather than waiting for the connection callback. This helps surface bugs in libuv or the caller better, since it ensures libuv doesn't see uninitialized memory if asked to look at these fields before it thinks the socket is connected. - Fixes what appears to be a double-counting of `handle->reqs_pending`, in the highly-unlikely event that the code wants to emulate IOCP, but `RegisterWaitForSingleObject` somehow managed to fail. PR-URL: https://github.com/libuv/libuv/pull/1746 Reviewed-By:
Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By:
Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
Santiago Gimeno <santiago.gimeno@gmail.com>
-