18c7530a | 14-May-2020 |
Ben Noordhuis |
unix: don't abort when getrlimit() fails It was reported that `getrlimit(RLIMIT_STACK)` fails on some aarch64 systems due to a glibc bug, where the getrlimit() system call wrapper in
unix: don't abort when getrlimit() fails It was reported that `getrlimit(RLIMIT_STACK)` fails on some aarch64 systems due to a glibc bug, where the getrlimit() system call wrapper invokes the wrong system call. Libuv could work around that by issuing a `prlimit(2)` system call instead but since it can't assume that said system call is available (it was added in Linux 2.6.36, libuv's baseline is 2.6.32) it seems easier to just use the default 2M stack size when the call fails. Fixes: https://github.com/nodejs/node/issues/33244 Refs: https://bugzilla.redhat.com/show_bug.cgi?id=1813089 PR-URL: https://github.com/libuv/libuv/pull/2848 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
show more ...
|
5a0779ba | 06-May-2020 |
MasterDuke17 |
doc: fix the order of arguments to calloc() PR-URL: https://github.com/libuv/libuv/pull/2835 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> |
b4fe4f6a | 29-Apr-2020 |
Jeroen Roovers |
build: check for libraries not provided by libc Using AC_CHECK_LIB ignores symbols already provided by other libraries, or in other words it links libuv against libraries that it doe
build: check for libraries not provided by libc Using AC_CHECK_LIB ignores symbols already provided by other libraries, or in other words it links libuv against libraries that it does not need. Attempts to remove specific libraries were met with arguments that older libc versions would still require them.[0] Fix this by using AC_SEARCH_LIBS instead of AC_CHECK_LIB while using AX_PTHREAD for POSIX threads. [0] E.g. https://github.com/libuv/libuv/pull/2493 PR-URL: https://github.com/libuv/libuv/pull/2823 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
36549815 | 12-May-2020 |
Ben Noordhuis |
unix,win: fix wrong sizeof argument to memcpy() Libuv was copying `sizeof(struct sockaddr_storage)` bytes from source to destination but the source was only `sizeof(struct sockaddr_in6)`
unix,win: fix wrong sizeof argument to memcpy() Libuv was copying `sizeof(struct sockaddr_storage)` bytes from source to destination but the source was only `sizeof(struct sockaddr_in6)` bytes big, or approximately 128 vs. 16 bytes. Fixes: https://github.com/libuv/libuv/issues/2840 PR-URL: https://github.com/libuv/libuv/pull/2841 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
78c65d0f | 12-May-2020 |
Ben Noordhuis |
unix: shrink uv_udp_set_source_membership() stack Replace two biggish `struct sockaddr_storage` instances with a union of `struct sockaddr_in` and `struct sockaddr_in6`, the latter being
unix: shrink uv_udp_set_source_membership() stack Replace two biggish `struct sockaddr_storage` instances with a union of `struct sockaddr_in` and `struct sockaddr_in6`, the latter being the largest that function supports. PR-URL: https://github.com/libuv/libuv/pull/2841 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
55dede5b | 07-May-2020 |
Anna Henningsen |
unix: fix memory leak when uv_loop_init() fails `uv_signal_init()` leads to the allocation of an IO watcher, so if the loop initialization fails at a later point, the `loop->watchers
unix: fix memory leak when uv_loop_init() fails `uv_signal_init()` leads to the allocation of an IO watcher, so if the loop initialization fails at a later point, the `loop->watchers` list needs to be released. PR-URL: https://github.com/libuv/libuv/pull/2837 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
7ccea60b | 07-May-2020 |
Ben Noordhuis |
doc: fix formatting Fixes: https://github.com/libuv/libuv/issues/2831 PR-URL: https://github.com/libuv/libuv/pull/2833 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> R
doc: fix formatting Fixes: https://github.com/libuv/libuv/issues/2831 PR-URL: https://github.com/libuv/libuv/pull/2833 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
e7ebae26 | 29-Apr-2020 |
Bartosz Sosnowski |
win, fs: add IO_REPARSE_TAG_APPEXECLINK support Adds support for IO_REPARSE_TAG_APPEXECLINK reparse points, used by Windows Store. Ref: https://github.com/nodejs/node/issues/330
win, fs: add IO_REPARSE_TAG_APPEXECLINK support Adds support for IO_REPARSE_TAG_APPEXECLINK reparse points, used by Windows Store. Ref: https://github.com/nodejs/node/issues/33024 PR-URL: https://github.com/libuv/libuv/pull/2812 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
show more ...
|
45728582 | 29-Apr-2020 |
Bartosz Sosnowski |
fs: report original error Exposes the original system error of the filesystem syscalls. Adds a new uv_fs_get_system_error which returns orignal errno on Linux or GetLastError on Wind
fs: report original error Exposes the original system error of the filesystem syscalls. Adds a new uv_fs_get_system_error which returns orignal errno on Linux or GetLastError on Windows. Ref: https://github.com/libuv/libuv/issues/2348 PR-URL: https://github.com/libuv/libuv/pull/2810 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
2bbf7d5c | 28-Apr-2020 |
Michal Artazov |
unix: fix int overflow when copying large files I was getting some weird results when copying a 5GB file on Alpine Linux on Raspberry Pi. Out of the 5GB only 1.1GB would get copied and
unix: fix int overflow when copying large files I was getting some weird results when copying a 5GB file on Alpine Linux on Raspberry Pi. Out of the 5GB only 1.1GB would get copied and the process would finish without an error. After some digging I found out that there's a problem that some data types have smaller number of bytes on Alpine Linux on Raspberry Pi than on other platforms apparently. When getting the size of the file in bytes, stat holds the size in off_t data type, like this: struct stat { ... off_t st_size; /* total size, in bytes */ ... }; In my case, off_t has 8 bytes which is enough to hold a value up to some exabytes. The problem is that it gets assigned to bytes_to_send variable, which is size_t. In my case, size_t is only 4 bytes, which is only good for about 4GB. If the file is any larger, there's an overflow when assigning it from stat to bytes_to_send. That's easy to fix, I just changed the data type of bytes_to_send to off_t. However there's more. The other 2 variables - in_offset and bytes_written also have to be able to hold the size of the entire file, therefore it makes sense to change them to off_t as well. The last problem is that bytes_to_send is passed down to uv_fs_sendfile() which converts it to size_t again. I could go and change the types everywhere across the whole codebase to off_t but that could break other things, so it seams a bit too much. A much better solution is to have a proxy variable bytes_chunk that is size_t type and copy as much bytes as possible at a time that can fit into size_t. That way it will work the same as before on other platforms, where size_t is more than 4 bytes. PR-URL: https://github.com/libuv/libuv/pull/2758 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
06b2f13b | 28-Apr-2020 |
twosee |
doc: add uv_replace_allocator thread safety warning PR-URL: https://github.com/libuv/libuv/pull/2815/ Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <inf
doc: add uv_replace_allocator thread safety warning PR-URL: https://github.com/libuv/libuv/pull/2815/ Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
43b456dc | 28-Apr-2020 |
Ben Noordhuis |
unix: fully initialize struct msghdr Commit 3d713663 ("freebsd,linux: add recvmmsg() + sendmmsg() udp implementation") forgot to zero some of the members of the msghdr struct. It see
unix: fully initialize struct msghdr Commit 3d713663 ("freebsd,linux: add recvmmsg() + sendmmsg() udp implementation") forgot to zero some of the members of the msghdr struct. It seems to work by accident, not by design. PR-URL: https://github.com/libuv/libuv/pull/2819 Refs: https://github.com/libuv/libuv/pull/2818 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
db96a61c | 28-Apr-2020 |
Ben Noordhuis |
win: support environment variables > 32767 chars The Windows documentation states these should not be possible but several people have reported that they do in fact happen. Try
win: support environment variables > 32767 chars The Windows documentation states these should not be possible but several people have reported that they do in fact happen. Try with a smallish stack-allocated buffer first and switch to a heap-allocated buffer if the first one is too small. Fixes: https://github.com/libuv/libuv/issues/2587 PR-URL: https://github.com/libuv/libuv/pull/2589 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
show more ...
|
75c8850c | 28-Apr-2020 |
Ben Noordhuis |
darwin: fix build with non-apple compilers The header files for ApplicationServices and CoreFoundation contain C language extensions that Apple's compiler understands but gcc does no
darwin: fix build with non-apple compilers The header files for ApplicationServices and CoreFoundation contain C language extensions that Apple's compiler understands but gcc does not, notably blocks: https://en.wikipedia.org/wiki/Blocks_(C_language_extension) Work around that by defining the types inline and stop including the headers. It's inelegant but the alternatives are worse. Fixes: https://github.com/libuv/libuv/issues/2805 PR-URL: https://github.com/libuv/libuv/pull/2811 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
25368e2d | 28-Apr-2020 |
Ben Noordhuis |
doc: check/idle/prepare functions always succeed Make the documentation reflect that the init/start/stop functions for check/idle/prepare handles always succeed. PR-URL: https:/
doc: check/idle/prepare functions always succeed Make the documentation reflect that the init/start/stop functions for check/idle/prepare handles always succeed. PR-URL: https://github.com/libuv/libuv/pull/2803 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
be0e957f | 28-Apr-2020 |
Bartosz Sosnowski |
build, win: add long path aware manifest Adds manifest file that makes the test runner work with long filenames when those are enabled in the system. PR-URL: https://github.com/
build, win: add long path aware manifest Adds manifest file that makes the test runner work with long filenames when those are enabled in the system. PR-URL: https://github.com/libuv/libuv/pull/2789 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
da7e50bb | 28-Apr-2020 |
Bartosz Sosnowski |
win: remove MAX_PATH limitations Since Windows 10 1607 some WinApi functions no longer have a MAX_PATH limit on the filenames length. This removes this hard-coded path length limit f
win: remove MAX_PATH limitations Since Windows 10 1607 some WinApi functions no longer have a MAX_PATH limit on the filenames length. This removes this hard-coded path length limit from various places in libuv, switching to dynamically allocating string buffers. Fixes: https://github.com/libuv/libuv/issues/2331 PR-URL: https://github.com/libuv/libuv/pull/2788 Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
4d3779c0 | 28-Apr-2020 |
Ben Noordhuis |
unix: simplify uv__udp_init_ex() PR-URL: https://github.com/libuv/libuv/pull/2809 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.co
unix: simplify uv__udp_init_ex() PR-URL: https://github.com/libuv/libuv/pull/2809 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
aa7b62ef | 28-Apr-2020 |
Ben Noordhuis |
win: make uv_udp_init_ex() accept UV_UDP_RECVMMSG Commit 5736658b ("udp: add flag to enable recvmmsg(2) explicitly") added the flag but didn't update the validation logic in src/win/udp.
win: make uv_udp_init_ex() accept UV_UDP_RECVMMSG Commit 5736658b ("udp: add flag to enable recvmmsg(2) explicitly") added the flag but didn't update the validation logic in src/win/udp.c. This commit moves the validation logic to src/uv-common.c. The flag is now accepted as a no-op on Windows. Fixes: https://github.com/libuv/libuv/issues/2806 PR-URL: https://github.com/libuv/libuv/pull/2809 Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
e1180a64 | 28-Apr-2020 |
Bartosz Sosnowski |
build: remove unnessesary MSVC warnings Removes warnings W4100, W4127, W4201, W4206, W4210, W4232, W4456, W4457, W4459, W4706 and W4996 when building with MSVC. PR-URL: https://
build: remove unnessesary MSVC warnings Removes warnings W4100, W4127, W4201, W4206, W4210, W4232, W4456, W4457, W4459, W4706 and W4996 when building with MSVC. PR-URL: https://github.com/libuv/libuv/pull/2777 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
6b3df057 | 22-Mar-2020 |
erw7 |
build,cmake: fix compilation on old MinGW _WIN32_WINNT specifies the minimum version of the operating system supported by the code, so change it to the minimum version supported by l
build,cmake: fix compilation on old MinGW _WIN32_WINNT specifies the minimum version of the operating system supported by the code, so change it to the minimum version supported by libuv. If _WIN32_WINNT=0x0600, PSAPI_VERSION=1 is set and it is necessary to link psapi, so it adds psapi unconditionally to the linked library. Fixes: https://github.com/libuv/libuv/issues/2742 Refs: https://docs.microsoft.com/en-us/cpp/porting/modifying-winver-and-win32-winnt?view=vs-2019 PR-URL: https://github.com/libuv/libuv/pull/2748 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Jameson Nash <vtjnash@gmail.com>
show more ...
|
002fe6e5 | 22-Apr-2020 |
Philip Chimento |
doc: fix unescaped character This was causing a warning during the documentation build. PR-URL: https://github.com/libuv/libuv/pull/2797 Reviewed-By: Ben Noordhuis <info@bnoordh
doc: fix unescaped character This was causing a warning during the documentation build. PR-URL: https://github.com/libuv/libuv/pull/2797 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
a87bb3c5 | 22-Apr-2020 |
Philip Chimento |
doc: uv_cancel() handles uv_random_t requests This seems to be the case from reading the code of uv_cancel(). Also fixes a broken link due to a markup typo. PR-URL: https:/
doc: uv_cancel() handles uv_random_t requests This seems to be the case from reading the code of uv_cancel(). Also fixes a broken link due to a markup typo. PR-URL: https://github.com/libuv/libuv/pull/2797 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
show more ...
|
13886c52 | 22-Apr-2020 |
twosee |
build,android: fix typo PR-URL: https://github.com/libuv/libuv/pull/2798 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By:
build,android: fix typo PR-URL: https://github.com/libuv/libuv/pull/2798 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <riclau@uk.ibm.com>
show more ...
|
99f8ffcc | 22-Apr-2020 |
Shohei YOSHIDA |
doc: correct source lines PR-URL: https://github.com/libuv/libuv/pull/2802 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> |