c3fe3cf1 | 19-Feb-2021 |
Ondřej Surý |
Make Thread Sanitizer aware of file descriptor close in uv__close() Thread Sanitizer can't intercept syscall(SYS_close, fd) that's used instead of close(fd); on Linux. That leads to fal
Make Thread Sanitizer aware of file descriptor close in uv__close() Thread Sanitizer can't intercept syscall(SYS_close, fd) that's used instead of close(fd); on Linux. That leads to false positives as Thread Sanitizer thinks the descriptor is still being used by the thread. clang defines pre- and post- syscall actions, so wrap the close syscall() into the action macros. For gcc, use close() from glibc instead of the syscall. This allows the thread sanitizer to intercept closing of the file descriptor when libuv is compiled with Thread Sanitizer. PR-URL: https://github.com/libuv/libuv/pull/3112 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
show more ...
|
d2482ae1 | 18-Jan-2021 |
George Zhao |
macos: fix memleaks in uv__get_cpu_speed ERROR: LeakSanitizer: detected memory leaks ``` Direct leak of 432 byte(s) in 9 object(s) allocated from: #0 0x1062eedc2 in __sa
macos: fix memleaks in uv__get_cpu_speed ERROR: LeakSanitizer: detected memory leaks ``` Direct leak of 432 byte(s) in 9 object(s) allocated from: #0 0x1062eedc2 in __sanitizer_mz_calloc+0x92 (libclang_rt.asan_osx_dynamic.dylib:x86_64+0x46dc2) #1 0x7fff20171eb6 in _malloc_zone_calloc+0x3a (libsystem_malloc.dylib:x86_64+0x1beb6) #2 0x7fff203ac180 in _CFRuntimeCreateInstance+0x124 (CoreFoundation:x86_64h+0x4180) #3 0x7fff203ab906 in __CFStringCreateImmutableFunnel3+0x84d (CoreFoundation:x86_64h+0x3906) #4 0x7fff203ab0a1 in CFStringCreateWithCString+0x48 (CoreFoundation:x86_64h+0x30a1) #5 0x1056f63e1 in uv__get_cpu_speed darwin.c:267 #6 0x1056f491e in uv_cpu_info darwin.c:338 ``` PR-URL: https://github.com/libuv/libuv/pull/3098 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
580d1d98 | 07-Jan-2021 |
Matvii Hodovaniuk |
benchmark: remove unreachable code PR-URL: https://github.com/libuv/libuv/pull/3092 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> |
3e76e473 | 13-Mar-2021 |
Brandon Cheng |
darwin: abort on pthread_attr_init fail `pthread_attr_init` is highly unlikely to fail on macOS. Removing the fallback behavior here to be consistent with other parts of libuv (e.g.
darwin: abort on pthread_attr_init fail `pthread_attr_init` is highly unlikely to fail on macOS. Removing the fallback behavior here to be consistent with other parts of libuv (e.g. `src/unix/thread.c`), which simply call `abort()`. PR-URL: https://github.com/libuv/libuv/pull/3132 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
608ac2e4 | 13-Mar-2021 |
Brandon Cheng |
darwin: use RLIMIT_STACK for fsevents pthread This fixes `SIGBUS` crashes on macOS 10.15 due a new change in `FSEvents.framework` that makes it allocate a large stack array for event
darwin: use RLIMIT_STACK for fsevents pthread This fixes `SIGBUS` crashes on macOS 10.15 due a new change in `FSEvents.framework` that makes it allocate a large stack array for event paths. (See the linked nodejs/node issue for details on the `FSEvents.framework` memory requirements change itself.) The existing size (`4 * PTHREAD_STACK_MIN` or 32KB) causes a stack overflow when more than ~1000 events are received at once. Setting this to `uv__thread_stack_size()` increases it to 8192KB (by default) on 64-bit machines. This value can be configured at runtime on macOS with `ulimit -s <size-kb>`. The 32KB limit was originally added to reduce virtual memory fragmentation on 32-bit systems, which is not a concern on 64-bit systems. Fixes: nodejs/node#37697 Refs: joyent/libuv#964 PR-URL: https://github.com/libuv/libuv/pull/3132 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
054a4953 | 13-Mar-2021 |
Brandon Cheng |
unix: expose thread_stack_size() internally This function will be used by `uv__fsevents_loop_init` in a future commit to determine the initial FSEvents pthread stack size. PR-UR
unix: expose thread_stack_size() internally This function will be used by `uv__fsevents_loop_init` in a future commit to determine the initial FSEvents pthread stack size. PR-URL: https://github.com/libuv/libuv/pull/3132 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
e24e5cbc | 23-Mar-2021 |
Zhao Zhili |
test: fix stack-use-after-scope In both `test-tcp-open` and `test-udp-open`. PR-URL: https://github.com/libuv/libuv/pull/3137 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
test: fix stack-use-after-scope In both `test-tcp-open` and `test-udp-open`. PR-URL: https://github.com/libuv/libuv/pull/3137 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
67994c68 | 23-Mar-2021 |
Zhao Zhili |
cmake: fix linker flags There is no CMAKE_LINKER_FLAGS_DEBUG. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com> PR-URL: https://github.com/libuv/libuv/pull/3137 Reviewed-By:
cmake: fix linker flags There is no CMAKE_LINKER_FLAGS_DEBUG. Signed-off-by: Zhao Zhili <zhilizhao@tencent.com> PR-URL: https://github.com/libuv/libuv/pull/3137 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
73084d56 | 21-Feb-2021 |
Juan José Arboleda |
test: remove string + int warning on udp-pummel PR-URL: https://github.com/libuv/libuv/pull/3115 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiag
test: remove string + int warning on udp-pummel PR-URL: https://github.com/libuv/libuv/pull/3115 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
97709e18 | 03-Mar-2021 |
Yash Ladha |
chore: use for(;;) instead of while In the codebase we have used empty for loop for infinite conditions, so to bring consistency replaced other occurrences of while in the codebase w
chore: use for(;;) instead of while In the codebase we have used empty for loop for infinite conditions, so to bring consistency replaced other occurrences of while in the codebase with for loop. PR-URL: https://github.com/libuv/libuv/pull/3128 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
59118e92 | 06-Mar-2021 |
Tobias Nießen |
include: fix typo in documentation PR-URL: https://github.com/libuv/libuv/pull/3130 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Review
include: fix typo in documentation PR-URL: https://github.com/libuv/libuv/pull/3130 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Richard Lau <rlau@redhat.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
285a5ea8 | 29-May-2020 |
Ondřej Surý |
test: fix test-udp-send-unreachable To properly handle sending UDP packet to unreachable address. PR-URL: https://github.com/libuv/libuv/pull/2872 Reviewed-By: Ben Noordhuis <in
test: fix test-udp-send-unreachable To properly handle sending UDP packet to unreachable address. PR-URL: https://github.com/libuv/libuv/pull/2872 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
c382d39a | 29-May-2020 |
Ondřej Surý |
linux,udp: enable full ICMP error reporting The Linux kernel suppresses some ICMP error messages by default for UDP sockets. This commit sets IP_RECVERR/IPV6_RECVERR on the socket to
linux,udp: enable full ICMP error reporting The Linux kernel suppresses some ICMP error messages by default for UDP sockets. This commit sets IP_RECVERR/IPV6_RECVERR on the socket to enable full ICMP error reporting, hopefully resulting in faster failover to working name servers. PR-URL: https://github.com/libuv/libuv/pull/2872 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
c464d213 | 05-Jan-2021 |
Shuowang (Wayne) Zhang |
doc: add instructions for building on z/OS PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com> |
c2589424 | 02-Dec-2020 |
Shuowang (Wayne) Zhang |
zos: use custom proctitle implementation ZOSLIB uses `argv[0]` to determine the exepath. So it is necessary to use an implementation of proctitle that does not modify `argv[0]`. Since
zos: use custom proctitle implementation ZOSLIB uses `argv[0]` to determine the exepath. So it is necessary to use an implementation of proctitle that does not modify `argv[0]`. Since there is currently no support for process titles on z/OS, the custom proctitle implementation simply stores the desired title in memory. This resolves failure in tests `get_currentexe` and `process_title` on z/OS. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
f6adf960 | 02-Sep-2020 |
Shuowang (Wayne) Zhang |
zos: use execvpe() to set environ explictly On z/OS, `execvp()` does not set the environment for child process from `environ` when ran in ASCII mode. Instead, `execvpe()` provided by
zos: use execvpe() to set environ explictly On z/OS, `execvp()` does not set the environment for child process from `environ` when ran in ASCII mode. Instead, `execvpe()` provided by ZOSLIB must be used to set the environment explicitly. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
880cdc38 | 01-Sep-2020 |
Shuowang (Wayne) Zhang |
zos: treat __rfim_utok as binary `__rfim_utok` is treated as text when it should be treated as binary while running in ASCII mode, resulting in an unwanted autoconversion. So undo th
zos: treat __rfim_utok as binary `__rfim_utok` is treated as text when it should be treated as binary while running in ASCII mode, resulting in an unwanted autoconversion. So undo the conversion explicitly. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
d144fea0 | 03-Sep-2020 |
Shuowang (Wayne) Zhang |
zos: use __getargv() from zoslib to get exe path The ZOSLIB implementation adds support for ASCII code page. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richar
zos: use __getargv() from zoslib to get exe path The ZOSLIB implementation adds support for ASCII code page. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
4f36c89c | 02-Sep-2020 |
Shuowang (Wayne) Zhang |
zos: use nanosleep() from zoslib Since `nanosleep()` is implemented in ZOSLIB, we will remove the libuv implementation to resolve conflict. The ZOSLIB implementation uses BPX4CTW (co
zos: use nanosleep() from zoslib Since `nanosleep()` is implemented in ZOSLIB, we will remove the libuv implementation to resolve conflict. The ZOSLIB implementation uses BPX4CTW (cond_timed_wait). PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
aef67e55 | 01-Sep-2020 |
Shuowang (Wayne) Zhang |
zos: use strnlen() from zoslib Since `strnlen()` is implemented in ZOSLIB, we will remove the libuv implementation to resolve conflict. The ZOSLIB implementation uses asm. PR-UR
zos: use strnlen() from zoslib Since `strnlen()` is implemented in ZOSLIB, we will remove the libuv implementation to resolve conflict. The ZOSLIB implementation uses asm. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
bf1aea0d | 31-Aug-2020 |
Shuowang (Wayne) Zhang |
zos: introduce zoslib This commit introduces ZOSLIB for z/OS, which is a C/C++ library that implements additional POSIX APIs not available in the LE C Runtime Library, and provides A
zos: introduce zoslib This commit introduces ZOSLIB for z/OS, which is a C/C++ library that implements additional POSIX APIs not available in the LE C Runtime Library, and provides API for EBCDIC <-> ASCII conversion. This library requires the linker to be set to CXX when building for z/OS. ZOSLIB is designed to be installed separately, and then linked to libuv with the `-DZOSLIB_DIR` option. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
14d09afa | 28-Aug-2020 |
Shuowang (Wayne) Zhang |
zos: don't use nanosecond timestamp fields Nanosecond resolution for the timestamp fields `st_atim`, `st_mtim`, and `st_ctim` are not supported on z/OS. PR-URL: https://github.c
zos: don't use nanosecond timestamp fields Nanosecond resolution for the timestamp fields `st_atim`, `st_mtim`, and `st_ctim` are not supported on z/OS. PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com>
show more ...
|
1073ceae | 28-Aug-2020 |
Shuowang (Wayne) Zhang |
zos: build in ascii code page PR-URL: https://github.com/libuv/libuv/pull/3060 Reviewed-By: Richard Lau <rlau@redhat.com> |
270d0518 | 29-Dec-2020 |
tjarlama |
test: move to ASSERT_NULL and ASSERT_NOT_NULL test macros Moving to new style test macros will make debugging easier in case of test failure and improve redability. This commit will repl
test: move to ASSERT_NULL and ASSERT_NOT_NULL test macros Moving to new style test macros will make debugging easier in case of test failure and improve redability. This commit will replace all ASSERT macros matching the statement: `ASSERT(identifier (== or !=) value);` to: `ASSERT_(NOT_)NULL(identifier);` Refs: https://github.com/libuv/libuv/issues/2974 PR-URL: https://github.com/libuv/libuv/pull/3081 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|
c3d08b5d | 29-Dec-2020 |
raisinten |
doc: fix code highlighting Affected docs: * basics.rst * filesystem.rst * eventloops.rst * networking.rst * processes.rst * threads.rst * utilities.rst F
doc: fix code highlighting Affected docs: * basics.rst * filesystem.rst * eventloops.rst * networking.rst * processes.rst * threads.rst * utilities.rst Fixes: https://github.com/libuv/libuv/issues/3033 PR-URL: https://github.com/libuv/libuv/pull/3082 Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com>
show more ...
|