History log of /libuv/ (Results 326 – 350 of 5327)
Revision (<<< Hide revision tags) (Show revision tags >>>)Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
7ca20a2606-Jul-2022 Ben Noordhuis

unix: retry tcgetattr/tcsetattr() on EINTR (#3669)

EINTR is explicitly documented as a possible error code of tcsetattr().

The documentation for tcgetattr() is silent on the subject

unix: retry tcgetattr/tcsetattr() on EINTR (#3669)

EINTR is explicitly documented as a possible error code of tcsetattr().

The documentation for tcgetattr() is silent on the subject but better
safe than sorry.

Fixes: https://github.com/libuv/libuv/issues/3645

show more ...

3136561c06-Jul-2022 Ben Noordhuis

unix: fix c99 comments (#3667)

Causes compilation errors for people that build libuv with a C89
compiler.

Refs: https://github.com/libuv/libuv/discussions/3666

1a91b51929-Jun-2022 Jameson Nash

shutdown,unix: reduce code duplication (#3648)

The UV_ECANCELED codepath had an incorrect comment, and the
implementation was generally less robust (for example, not checking if
`cb`

shutdown,unix: reduce code duplication (#3648)

The UV_ECANCELED codepath had an incorrect comment, and the
implementation was generally less robust (for example, not checking if
`cb` was NULL), so we can merge these codepaths for cleaner code.

show more ...

2108309329-Jun-2022 Samuel Cabrero

unix,tcp: fix errno handling in uv__tcp_bind() (#3652)

The errno value is only meaningful if bind() fails and returns -1.

Some bind() implementations may return success but modify e

unix,tcp: fix errno handling in uv__tcp_bind() (#3652)

The errno value is only meaningful if bind() fails and returns -1.

Some bind() implementations may return success but modify errno value
internally, like the socket_wrapper library used by the Samba testsuite.

show more ...

27eec09929-Jun-2022 Wayne Zhang

zos: fix early exit of epoll_wait() (#3653)

This fixes an early exit bug in z/OS implementation of epoll_wait(),
resulting in some file events not being correctly captured.

The

zos: fix early exit of epoll_wait() (#3653)

This fixes an early exit bug in z/OS implementation of epoll_wait(),
resulting in some file events not being correctly captured.

The problem is that reventcount should only be incremented by 1, because
_NFDS counts as 1 even for fds with multiple revents set.

Also makes a few minor improvements to remove redundant checks.

Co-authored-by: Igor Todorovski <itodorov@ca.ibm.com>

show more ...

e3aaff1817-Jun-2022 Jameson Nash

udp,win: fix UDP compiler warning (#3647)

Previously it would pass a pointer to uninitialized memory to WSASendTo,
which triggered a compiler warning. However, `addrlen` will be 0, so it

udp,win: fix UDP compiler warning (#3647)

Previously it would pass a pointer to uninitialized memory to WSASendTo,
which triggered a compiler warning. However, `addrlen` will be 0, so it
seems unlikely to trigger an error or uninitialized memory access.

Refs: https://github.com/libuv/leps/pull/10
Refs: https://github.com/libuv/libuv/pull/1872
Refs: https://github.com/libuv/libuv/pull/2217

show more ...

0b1c752b17-Jun-2022 Wayne Zhang

zos: implement uv_available_parallelism() (#3650)

Implement uv_available_parallelism() for z/OS by reporting the number of
online cpu using __get_num_online_cpus() from ZOSLIB.

8bcd689c11-Jun-2022 theanarkh <2923878201@qq.com>

tcp,pipe: fail `bind` or `listen` after `close` (#3641)

Return `UV_EINVAL` in `bind` and `listen` when `handle` is
`UV_HANDLE_CLOSING` or `UV_HANDLE_CLOSED`.

Fixes: https://gith

tcp,pipe: fail `bind` or `listen` after `close` (#3641)

Return `UV_EINVAL` in `bind` and `listen` when `handle` is
`UV_HANDLE_CLOSING` or `UV_HANDLE_CLOSED`.

Fixes: https://github.com/libuv/libuv/issues/3503

show more ...

d938c10417-May-2022 Wayne Zhang

zos: improve memory management of ip addresses (#3640 3/3)

Fixes an issue where under certain conditions, dynamically allocated
ip addresses, strings, and buffers were either leaking mem

zos: improve memory management of ip addresses (#3640 3/3)

Fixes an issue where under certain conditions, dynamically allocated
ip addresses, strings, and buffers were either leaking memory, being
incorrectly freed, or not performing error checks.

Also fixes an issue where the uv_interface_address_t struct was not
correctly initialized to 0, so use calloc() instead of malloc().

Co-authored-by: Igor Todorovski <itodorov@ca.ibm.com>

show more ...

524c5ed817-May-2022 Wayne Zhang

zos: add uv_interface_addresses() netmask support (#3640 2/3)

Use SIOCGIFNETMASK ioctl to retrieve the netmask for IPv4. However, this
approach is not supported for IPv6.

For IP

zos: add uv_interface_addresses() netmask support (#3640 2/3)

Use SIOCGIFNETMASK ioctl to retrieve the netmask for IPv4. However, this
approach is not supported for IPv6.

For IPv6 netmask, z/OS currently only provides the prefix length through
the __nif6e_prefixlen in __net_ifconf6entry_t struct, but this can be
used to calculate the IPv6 netmask similar to android implementation.

Co-authored-by: Igor Todorovski <itodorov@ca.ibm.com>

show more ...

75ad046b16-May-2022 Wayne Zhang

zos: correctly format interface addresses names (#3640 1/3)

On z/OS, the interface address name contains EBCDIC and may be padded
with whitespaces. The whitespace padding needs to be tri

zos: correctly format interface addresses names (#3640 1/3)

On z/OS, the interface address name contains EBCDIC and may be padded
with whitespaces. The whitespace padding needs to be trimmed, and the
interface address name needs to be converted from EBCDIC to ASCII.

Co-authored-by: John Barboza <jbarboza@ca.ibm.com>
Co-authored-by: Igor Todorovski <itodorov@ca.ibm.com>

show more ...

77c8e99311-Jun-2022 Wayne Zhang

zos: avoid fs event callbacks after uv_close() (#3620)

On z/OS, fs events are implemented by registering file interest. When
closing a fs event handle, it's possible that a change notifi

zos: avoid fs event callbacks after uv_close() (#3620)

On z/OS, fs events are implemented by registering file interest. When
closing a fs event handle, it's possible that a change notification has
already been generated. In that case, the attempt to unregister file
interest will fail with EALREADY. This will result in the fs event being
delivered even though the handle is closing, which should not happen.

Fixes: https://github.com/libuv/libuv/issues/3601

show more ...

51dcac5d25-May-2022 Wayne Zhang

zos: don't err when killing a zombie process (#3625)

On z/OS, EPERM is returned if the process being killed is a zombie.
However, this shouldn't be treated as an error, so return 0 inste

zos: don't err when killing a zombie process (#3625)

On z/OS, EPERM is returned if the process being killed is a zombie.
However, this shouldn't be treated as an error, so return 0 instead.

Co-authored-by: Muntasir Mallick <mmallick@ca.ibm.com>
Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com>

show more ...

99ab53e924-May-2022 Sergey Fedorov

darwin: fix atomic-ops.h ppc64 build (#3634)

730e07e217-May-2022 chucksilvers

kqueue: skip EVFILT_PROC when invalidating fds (#3629)

On NetBSD with libuv 1.44.1 we see that cmake occasionally hangs
waiting for a child process to exit, with libuv waiting forever fo

kqueue: skip EVFILT_PROC when invalidating fds (#3629)

On NetBSD with libuv 1.44.1 we see that cmake occasionally hangs
waiting for a child process to exit, with libuv waiting forever for
`kevent` to deliver more events that never come. The child process has
already exited and is waiting to be collected with `waitpid`.

The hang occurs when the batch of events returned by one call to
`kevent` contains both a EVFILT_READ event for an fd and a later
EVFILT_PROC record for the PID with the same value as the earlier fd.
What happens is that `uv__platform_invalidate_fd` is called to
invalidate events later in the same batch for the fd, but
`uv__platform_invalidate_fd` invalidates the later EVFILT_PROC event
too because it sees the same "ident" value and does not check the
"filter" value to differentiate "ident" values that refer to fds vs.
"ident" values that refer to PIDs.

Add a check for the "filter" value to avoid confusing these two
different kinds of event "ident" values.

show more ...

1b8cc56113-May-2022 V-for-Vasili

aix,test: uv_backend_fd is not supported by poll (#3621)

Fixes: https://github.com/libuv/libuv/issues/3614
Co-authored-by: Vasili Skurydzin <vasili.skurydzin@ibm.com>

ee3718dd13-May-2022 Jameson Nash

loop: better align order-of-events behavior between platforms (#3598)

Previously, Windows would always defer event processing to the loop
after they were received. This could cause confu

loop: better align order-of-events behavior between platforms (#3598)

Previously, Windows would always defer event processing to the loop
after they were received. This could cause confusion for users who were
using prepare and idle callbacks, as seen from this bug in nodejs[^1] and
this discussion in libuv[^2], and even some discrepancies in the libuv
tests too[^3].

[^1]: https://github.com/nodejs/node/pull/42340
[^2]: https://github.com/libuv/libuv/discussions/3550
[^3]: See change to test-spawn.c in this PR

So rather than declare those usages to be wrong, we change libuv to meet
those users expectations.

Replaces: https://github.com/libuv/libuv/pull/3585

show more ...

ec67735413-May-2022 Jameson Nash

win,pipe: fix bugs with pipe resource lifetime management (#3611)

If `uv_close` was called while a connect was pending, we would fail to
release the resources for the connection, since w

win,pipe: fix bugs with pipe resource lifetime management (#3611)

If `uv_close` was called while a connect was pending, we would fail to
release the resources for the connection, since we had not yet set the
type of the struct.

Fix a thread data-race on slow connect path code: only permitted to
write to `req` on threads, as anything else causes data race
corruption.

There seemed be a small variety of other resource management bugs in
edge cases, which turned out to make this a lot larger than initially
expected.

Refs: https://github.com/libuv/libuv/pull/3598#issuecomment-1111513567

show more ...

7825bfb409-May-2022 Ben Noordhuis

test: remove disabled callback_order test (#3619)

This test has always been disabled for the 10 years of its existence and
there are other tests that exercise "what happens when" event o

test: remove disabled callback_order test (#3619)

This test has always been disabled for the 10 years of its existence and
there are other tests that exercise "what happens when" event ordering.

Fixes: https://github.com/libuv/libuv/issues/3618

show more ...

03a698b927-Apr-2022 Ben Noordhuis

unix: use MSG_CMSG_CLOEXEC where supported (#3609)

Use MSG_CMSG_CLOEXEC on Unix-y platforms that support it (all except
macOS and SunOS spawn.)

Remove the feature test for Linux

unix: use MSG_CMSG_CLOEXEC where supported (#3609)

Use MSG_CMSG_CLOEXEC on Unix-y platforms that support it (all except
macOS and SunOS spawn.)

Remove the feature test for Linux. Libuv's kernel baseline is 2.6.32
and MSG_CMSG_CLOEXEC was added in 2.6.23.

show more ...

e0680d3027-Apr-2022 blogdaren

doc: fix link to uvwget example main() function (#3605)

4e63e48827-Apr-2022 tuftedocelot

openbsd: use utimensat instead of lutimes (#3607)

OpenBSD doesn't have lutimes so utimensat should be used instead.

a302ad4227-Apr-2022 Ben Noordhuis

test: rewrite embed test (#3608)

- fix busy loop
- fix multi-thread race conditions
- reduce amount of platform-specific code

Fixes: https://github.com/libuv/libuv/issues/36

test: rewrite embed test (#3608)

- fix busy loop
- fix multi-thread race conditions
- reduce amount of platform-specific code

Fixes: https://github.com/libuv/libuv/issues/3606

show more ...

9e59aa1b19-Apr-2022 Jameson Nash

release: check versions of autogen scripts are newer (#3554)

Use libtoolize --force to ensure it updates m4 directory with the
latest files. Add an option "release" to the autogen.sh scr

release: check versions of autogen scripts are newer (#3554)

Use libtoolize --force to ensure it updates m4 directory with the
latest files. Add an option "release" to the autogen.sh script that
checks the versions of the input tools, so that we know they are always
using the latest version for each release.

show more ...

7c9b393815-Apr-2022 Jameson Nash

macos: avoid posix_spawnp() cwd bug (#3597)

macOS 10.15 has a bug where configuring the working directory with
posix_spawn_file_actions_addchdir_np() makes posix_spawnp() fail with
E

macos: avoid posix_spawnp() cwd bug (#3597)

macOS 10.15 has a bug where configuring the working directory with
posix_spawn_file_actions_addchdir_np() makes posix_spawnp() fail with
ENOENT even though the executable is spawned successfully.

Co-authored-by: Ben Noordhuis <info@bnoordhuis.nl>

show more ...

1...<<11121314151617181920>>...214