Commit Graph

4453 Commits

Author SHA1 Message Date
nia
a62f8ced7a netbsd: use KERN_ARND sysctl to get entropy
PR-URL: https://github.com/libuv/libuv/pull/2528
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2019-10-29 13:36:05 +01:00
nia
2dcf2e8188 unix: move random-sysctl to random-sysctl-linux
PR-URL: https://github.com/libuv/libuv/pull/2528
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2019-10-29 13:31:41 +01:00
cjihrig
747a0f34d7
Now working on version 1.33.2
Fixes: https://github.com/libuv/libuv/issues/2525
2019-10-19 16:40:16 -05:00
cjihrig
278ae2fe00
Add SHA to ChangeLog 2019-10-19 16:32:27 -05:00
cjihrig
07ad32138f
2019.10.20, Version 1.33.1 (Stable)
Changes since version 1.33.0:

* linux: fix arm64 SYS__sysctl build breakage (Ben Noordhuis)
2019-10-19 16:32:27 -05:00
Ben Noordhuis
83f59ff1c1
linux: fix arm64 SYS__sysctl build breakage
The arm64 architecture never had a _sysctl system call and therefore
doesn't have a SYS__sysctl define either. Always return UV_ENOSYS.

Fixes: https://github.com/libuv/libuv/issues/2522
PR-URL: https://github.com/libuv/libuv/pull/2524
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2019-10-19 16:25:30 -05:00
cjihrig
cb7e5a6aff
Now working on version 1.33.1
Fixes: https://github.com/libuv/libuv/issues/2491
2019-10-16 14:55:35 -04:00
cjihrig
146c13db14
Add SHA to ChangeLog 2019-10-16 14:53:29 -04:00
cjihrig
e56e42e931
2019.10.17, Version 1.33.0 (Stable)
Changes since version 1.32.0:

* Revert "linux: drop code path for epoll_pwait-less kernels" (Yang Yu)

* build: fix build error with __ANDROID_API__ < 21 (Yang Yu)

* win: fix reading hidden env vars (Anna Henningsen)

* unix,win: add uv_random() (Ben Noordhuis)

* win: simplify mkdtemp (Saúl Ibarra Corretgé)

* docs: fix literal-includes in User Guide (Nhan Khong)

* win, tty: fix problem of receiving unexpected SIGWINCH (erw7)

* unix: fix {Net,Open}BSD build (David Carlier)

* win,mingw: Fix undefined MCAST_* constants (Crunkle)

* build: Add link for test/fixtures/lorem_ipsum.txt (Andrew Paprocki)

* fs: use statvfs in uv__fs_statfs() for Haiku (Calvin Hill)

* fsevents: stop using fsevents to watch files (Jameson Nash)

* fsevents: regression in watching / (Jameson Nash)

* build,cmake: don't try to detect a C++ compiler (Isabella Muerte)

* build: fix build warning on cygwin (MaYuming)

* unix: set sin_len and sin6_len (Ouyang Yadong)

* test: fix order of operations in test (cjihrig)

* doc: improve uv_fs_readdir() cleanup docs (cjihrig)

* build: remove duplicated test in build files (ZYSzys)

* android: enable getentropy on Android >= 28 (David Carlier)

* android: fix build (David Carlier)

* darwin: speed up uv_set_process_title() (Ben Noordhuis)

* darwin: assume pthread_setname_np() is available (Ben Noordhuis)

* unix,udp: ensure addr is non-null (Jameson Nash)

* win,tty: add uv_tty_{get,set}_vterm_state (erw7)

* win: fix uv_statfs_t leak in uv_fs_statfs() (Ryan Liptak)

* build: install files on windows via cmake (Carl Lei)

* darwin,test: include AvailabilityMacros.h (Saúl Ibarra Corretgé)

* darwin,test: update loop time after sleeping (Saúl Ibarra Corretgé)

* doc: remove old FreeBSD 9 related note (Saúl Ibarra Corretgé)

* doc: improve uv_{send,recv}_buffer_size() docs (Ryan Liptak)

* build: move -Wno-long-long check to configure time (Ben Noordhuis)

* unix: update uv_fs_copyfile() fallback logic (Stefan Bender)

* win: cast setsockopt struct to const char* (Shelley Vohr)
2019-10-16 14:53:28 -04:00
Shelley Vohr
68818b621a
win: cast setsockopt struct to const char*
Fixes: https://github.com/libuv/libuv/issues/2519
PR-URL: https://github.com/libuv/libuv/pull/2520
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-16 12:57:37 -04:00
Stefan Bender
ddcaff9a10
unix: update uv_fs_copyfile() fallback logic
This commit fixes uv_fs_copyfile() in cases where an unknown error
occurs when copy-on-write is requested by setting
UV_FS_COPYFILE_FICLONE. The original approach tried to catch some of
the errors raised by the ioctl() call, assuming that sendfile() would
also fail in those cases. This is not necessarily true, as some
variants of ioctl() also raise EINVAL (some maybe EBADF), but sendfile()
works just fine.

This patch reverses the logic, falling back to sendfile() in any
case where ioctl() returns an error. In other words, it tries much
harder to make uv_fs_copyfile() work.

Related to that, the original approach returned UV_ENOTSUP
unconditionally in cases where ioctl() failed and
UV_FS_COPYFILE_FICLONE_FORCE was set. However, ioctl() may have
failed for other reasons than being not supported. The function
now returns the actual error raised by ioctl(), leaving it to the
caller to deal with it.

Fixes: https://github.com/libuv/libuv/issues/2483
PR-URL: https://github.com/libuv/libuv/pull/2514
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-16 10:49:42 -04:00
Ben Noordhuis
f9c35197e6
build: move -Wno-long-long check to configure time
xlc reportedly doesn't support the `-Wno-long-long` flag. Detect that
at configure time instead of trying to fix it up at build time.

This enables the flag for both the library and the test suite instead
of just the test suite but that seems fine to me.

PR-URL: https://github.com/libuv/libuv/pull/2512
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-10-14 21:33:39 -04:00
Ryan Liptak
e668e10acb
doc: improve uv_{send,recv}_buffer_size() docs
PR-URL: https://github.com/libuv/libuv/pull/2508
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-14 21:22:57 -04:00
Saúl Ibarra Corretgé
65f142a9a6
doc: remove old FreeBSD 9 related note
PR-URL: https://github.com/libuv/libuv/pull/2509
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: David Carlier <devnexen@gmail.com>
2019-10-14 21:20:09 -04:00
Saúl Ibarra Corretgé
1df44df057 darwin,test: update loop time after sleeping
Otherwise we run the risk of running the timer before the fsevent
callback since the timer due time is "now" because it's as long as the
process already slept.

Refs: https://github.com/libuv/libuv/issues/2491
PR-URL: https://github.com/libuv/libuv/pull/2516
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-14 23:52:34 +02:00
Saúl Ibarra Corretgé
39a801d66d darwin,test: include AvailabilityMacros.h
It's necessary for MAC_OS_X_VERSION_10_12 to be defined.

Refs: https://github.com/libuv/libuv/issues/2491
PR-URL: https://github.com/libuv/libuv/pull/2516
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-14 23:51:34 +02:00
Carl Lei
e797163e75
build: install files on windows via cmake
PR-URL: https://github.com/libuv/libuv/pull/2443
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-09 15:34:12 -04:00
Ryan Liptak
076df64dbb
win: fix uv_statfs_t leak in uv_fs_statfs()
PR-URL: https://github.com/libuv/libuv/pull/2505
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2019-10-09 12:57:35 -04:00
erw7
fd2ce38dd6 win,tty: add uv_tty_{get,set}_vterm_state
PR-URL: https://github.com/libuv/libuv/pull/2501
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
Reviewed-By: Jameson Nash <vtjnash+github@gmail.com>
2019-10-09 09:36:36 +02:00
Jameson Nash
fdef604a1e unix,udp: ensure addr is non-null
Update this code to be more in line with the Windows version.

Previously, callers (such as nodejs) might assume it was always safe to de-reference this parameter:
d2634be562/src/tcp_wrap.cc (L349) called from d2634be562/src/udp_wrap.cc (L567)

I suspect this may have been unreachable, and that it was guaranteed by the kernel to be `>= sizeof(struct sockaddr)`, so this should be a NFC simplification.

PR-URL: https://github.com/libuv/libuv/pull/2330
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-08 21:55:30 +02:00
Ben Noordhuis
bee1bf5dd7 darwin: assume pthread_setname_np() is available
Stop dlsym-ing the symbol name at run-time, that was only necessary to
support macOS and iOS versions that were already near-obsolete when this
feature was introduced in August 2013.

PR-URL: https://github.com/libuv/libuv/pull/2480
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-08 12:50:26 +02:00
Ben Noordhuis
038eacfbf4 darwin: speed up uv_set_process_title()
Libuv loaded and unloaded the Core Services and Application Services for
every call to uv_set_process_title().

Change that to load them on the first call to uv_set_process_title() and
delay unloading until libuv is unloaded.

Speeds up process_title_threadsafe by about 10x on my system. It should
fail less often (hopefully not at all) on the CI now.

PR-URL: https://github.com/libuv/libuv/pull/2480
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-08 12:49:47 +02:00
David Carlier
e83dba7f93 android: fix build
PR-URL: https://github.com/libuv/libuv/pull/2486
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-08 09:20:52 +02:00
David Carlier
f261d04d0a android: enable getentropy on Android >= 28
PR-URL: https://github.com/libuv/libuv/pull/2486
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-08 09:19:47 +02:00
ZYSzys
8b1e352ffa
build: remove duplicated test in build files
Remove duplicated test-ip6-addr.c in cmake build file
and gyp file.

PR-URL: https://github.com/libuv/libuv/pull/2494
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-10-07 22:12:29 -04:00
cjihrig
d6b79ffb1b
doc: improve uv_fs_readdir() cleanup docs
When cleaning up after uv_fs_readdir(), it is important to
call uv_fs_req_cleanup() on the readdir request prior to calling
uv_fs_closedir(), because the latter frees memory that the
former needs in order to do its job.

PR-URL: https://github.com/libuv/libuv/pull/2497
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-10-06 16:08:04 +02:00
cjihrig
f47f01b57c
test: fix order of operations in test
In the fs_readdir_empty_dir test, the uv_fs_readdir() request is
cleaned up after calling uv_fs_closedir(). However, the readdir
request should be cleaned up before calling uv_fs_closedir().

Fixes: https://github.com/libuv/libuv/issues/2496
PR-URL: https://github.com/libuv/libuv/pull/2497
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-10-06 16:07:01 +02:00
Ouyang Yadong
645be48a80 unix: set sin_len and sin6_len
FreeBSD defines `sin_len` and `sin6_len` inside `sockaddr_in` and
`sockaddr_in6`. `sockaddr`s come from `getsockname` and `uv_ip4_addr`
will differ in the first byte if libuv doesn't set `sin_len` correctly.

PR-URL: https://github.com/libuv/libuv/pull/2492
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-04 23:58:18 +02:00
MaYuming
0ff717e39c build: fix build warning on cygwin
Signed-off-by: MaYuming <maym@appexnetworks.com>
PR-URL: https://github.com/libuv/libuv/pull/2489
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-04 23:54:06 +02:00
Isabella Muerte
edbf293479 build,cmake: don't try to detect a C++ compiler
- Bump CMake version to 3.4 so we can eventually use all the
cool things like better generator expression support, and
`target_sources`, and also better MSVC runtime linkage support

- Reorganize includes to be all in one place.

- Rename libuv_buildtests option to LIBUV_BUILD_TESTS. It is disabled
unless BUILD_TESTING is ON *and* libuv is the "root" project. This helps
projects that might use libuv as a git submodule, or as a download that
is then passed to `add_subdirectory`.

Refs: https://github.com/libuv/libuv/pull/2490
PR-URL: https://github.com/libuv/libuv/pull/2495
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-10-04 23:49:25 +02:00
Jameson Nash
ae12376dbb fsevents: regression in watching /
This case got lost by accident in
https://github.com/libuv/libuv/pull/2082,
preventing the realpath `/` from ever matching.

Fixes: https://github.com/nodejs/node/issues/28917
PR-URL: https://github.com/libuv/libuv/pull/2460
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-26 16:07:46 +02:00
Jameson Nash
97b85e8b75 fsevents: stop using fsevents to watch files
Goes back to just using it to watch folders,
but keeps the other logic changes around.

Refs: https://github.com/libuv/libuv/pull/387
Refs: https://github.com/libuv/libuv/pull/2082
Refs: https://github.com/libuv/libuv/pull/1572
Refs: https://github.com/nodejs/node/issues/29460
Fixes: https://github.com/libuv/libuv/issues/2488
Closes: https://github.com/libuv/libuv/pull/2452
PR-URL: https://github.com/libuv/libuv/pull/2459
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-26 16:01:27 +02:00
Calvin Hill
501b5cc53e fs: use statvfs in uv__fs_statfs() for Haiku
PR-URL: https://github.com/libuv/libuv/pull/2477
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-25 16:40:50 +02:00
Andrew Paprocki
123e3bd7a7 build: Add link for test/fixtures/lorem_ipsum.txt
Test `test-fs.c` fails when built in a relocated directory because
the build does link the required test fixture.

PR-URL: https://github.com/libuv/libuv/pull/2444
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
Reviewed-By: Jameson Nash <vtjnash+github@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
2019-09-25 14:55:27 +02:00
Crunkle
2140e2c08c win,mingw: Fix undefined MCAST_* constants
Fixes: https://github.com/libuv/libuv/issues/2464
Refs: https://github.com/libuv/libuv/pull/2471
PR-URL: https://github.com/libuv/libuv/pull/2461
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-25 14:48:10 +02:00
David Carlier
59146f2f4b unix: fix {Net,Open}BSD build
Mainly disabling source membership for udp feature, unsupported.

PR-URL: https://github.com/libuv/libuv/pull/2458
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-25 14:46:24 +02:00
erw7
501304225e win, tty: fix problem of receiving unexpected SIGWINCH
Fix an issue where WINDOWS_BUFFER_SIZE_EVENT occurs and unexpected
SIGWINCH is received before calling
uv__tty_console_resize_message_loop_thread.

Refs: https://github.com/neovim/neovim/pull/10978#issuecomment-530742148
PR-URL: https://github.com/libuv/libuv/pull/2478
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-25 14:43:23 +02:00
Nhan Khong
75075d6cdb docs: fix literal-includes in User Guide
Using raw copies in place of sphinx literalinclude
directives as the API of v1.x is now stable.

Fixes: https://github.com/libuv/libuv/issues/2350
PR-URL: https://github.com/libuv/libuv/pull/2353
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Saúl Ibarra Corretgé <s@saghul.net>
2019-09-25 14:39:23 +02:00
Saúl Ibarra Corretgé
9b2c9b6c1f win: simplify mkdtemp
Use our builtin getrandom helper instead of the more verbose CryptoAPI
functions, which also happen to be deprecated.

PR-URL: https://github.com/libuv/libuv/pull/2485
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
2019-09-25 14:37:26 +02:00
Ben Noordhuis
4ed2a78f0e unix,win: add uv_random()
Add an API for obtaining cryptographically strong random data from the
system PRNG.

Co-authored-by: Saúl Ibarra Corretgé <s@saghul.net>
Refs: https://github.com/libuv/libuv/pull/1055
PR-URL: https://github.com/libuv/libuv/pull/2347
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
2019-09-18 08:09:14 +02:00
Anna Henningsen
fd1502f563
win: fix reading hidden env vars
There are some special environment variables on Windows that
start with a '=' sign, e.g. per-drive working directories.
In those cases, an initial '=' in the name of the environment
variable needs to be skipped when looking for the '=' that separates
it from its value.

PR-URL: https://github.com/libuv/libuv/pull/2473
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jameson Nash <vtjnash+github@gmail.com>
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-09-17 22:07:34 +02:00
Yang Yu
e2c0f60c10 build: fix build error with __ANDROID_API__ < 21
Fix the following undefined symbols error with __ANDROID_API__ < 21:
- epoll_create1
- epoll_pwait
- futimens
2019-09-16 11:16:56 +02:00
Yang Yu
3bff0d3878 Revert "linux: drop code path for epoll_pwait-less kernels"
This reverts commit f43c663433.
2019-09-16 11:16:56 +02:00
cjihrig
549f52c467
Now working on version 1.32.1
Fixes: https://github.com/libuv/libuv/issues/2457
2019-09-09 12:55:37 -04:00
cjihrig
cd8f9315b6
Add SHA to ChangeLog 2019-09-09 12:53:17 -04:00
cjihrig
697bea87b3
2019.09.10, Version 1.32.0 (Stable)
Changes since version 1.31.0:

* misc: enable stalebot (Saúl Ibarra Corretgé)

* win: map ERROR_ENVVAR_NOT_FOUND to UV_ENOENT (cjihrig)

* win: use L'\0' as UTF-16 null terminator (cjihrig)

* win: support retrieving empty env variables (cjihrig)

* unix,stream: fix returned error codes (Santiago Gimeno)

* test: fix typo in DYLD_LIBRARY_PATH (Ben Noordhuis)

* unix,signal: keep handle active if pending signal (Santiago Gimeno)

* openbsd: fix uv_cpu_info (Santiago Gimeno)

* src: move uv_free_cpu_info to uv-common.c (Santiago Gimeno)

* tcp: add uv_tcp_close_reset method (Santiago Gimeno)

* test: fix udp-multicast-join tests (Santiago Gimeno)

* test: remove assertion in fs_statfs test (cjihrig)

* doc: clarify uv_buf_t usage in uv_alloc_cb (Tomas Krizek)

* win: fix typo in preprocessor expression (Konstantin Podsvirov)

* timer: fix uv_timer_start on closing timer (seny)

* udp: add source-specific multicast support (Vladimir Karnushin)

* udp: fix error return values (Santiago Gimeno)

* udp: drop IPV6_SSM_SUPPORT macro (Santiago Gimeno)

* udp: fix uv__udp_set_source_membership6 (Santiago Gimeno)

* udp: use sockaddr_storage instead of union (Santiago Gimeno)

* build,zos: add _OPEN_SYS_SOCK_EXT3 flag (Santiago Gimeno)

* test: add specific source multicast tests (Santiago Gimeno)

* include: map EILSEQ error code (cjihrig)

* win, tty: improve SIGWINCH performance (Bartosz Sosnowski)

* build: fix ios build error (MaYuming)

* aix: replace ECONNRESET with EOF if already closed (Milad Farazmand)

* build: add cmake library VERSION, SOVERSION (Eneas U de Queiroz)

* build: make include/ public in CMakeLists.txt (Ben Noordhuis)

* build: export USING_UV_SHARED=1 to cmake deps (Ben Noordhuis)

* build: cmake_minimum_required(VERSION 2.8.12) (Daniel Hahler)

* aix: Fix broken cmpxchgi() XL C++ specialization. (Andrew Paprocki)

* test: fix -Wsign-compare warning (Ben Noordhuis)

* unix: simplify open(O_CLOEXEC) feature detection (Ben Noordhuis)

* unix: fix UV_FS_O_DIRECT definition on Linux (Joran Dirk Greef)

* doc: uv_handle_t documentation suggestion (Daniel Bevenius)
2019-09-09 12:53:10 -04:00
Daniel Bevenius
25682fafeb
doc: uv_handle_t documentation suggestion
This commit contains a suggestion to hopefully improve the
documentation of uv_handle_t's member uv_loop_t.

PR-URL: https://github.com/libuv/libuv/pull/2446
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-09-09 11:09:30 -04:00
Joran Dirk Greef
9b12e023ab unix: fix UV_FS_O_DIRECT definition on Linux
According to http://man7.org/linux/man-pages/man2/open.2.html, the
O_DIRECT flag is Linux-specific. One must define _GNU_SOURCE to obtain
the correct definition.

However, defining _GNU_SOURCE in the headers is unhygienic and affects
the libuv consumer.

On Linux, we now define UV_FS_O_DIRECT explicitly according to
architecture, only falling back to O_DIRECT if defined, or 0 if not.

Fixes: https://github.com/libuv/libuv/issues/2420
PR-URL: https://github.com/libuv/libuv/pull/2441
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-09-06 22:50:27 +02:00
Ben Noordhuis
1f63e287b6 unix: simplify open(O_CLOEXEC) feature detection
Platforms that support O_CLOEXEC have supported it for a long time
and don't need feature detection. Libuv can just assume it works as
advertised.

The feature detection was broken for old Linux kernels because they
don't report EINVAL for unknown open() flags, they simply open the
file without setting the FD_CLOEXEC flag.

Libuv could fix that by checking afterwards with fcntl() if the flag
was actually set but it doesn't support kernels that old in the first
place so let's simplify the logic.

Fixes: https://github.com/libuv/libuv/issues/2450
PR-URL: https://github.com/libuv/libuv/pull/2454
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-09-06 22:49:22 +02:00
Ben Noordhuis
c898f2e838 test: fix -Wsign-compare warning
PR-URL: https://github.com/libuv/libuv/pull/2451
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
2019-09-06 22:48:06 +02:00