deps: cherry-pick libuv/libuv@3a7b955 · nodejs/node@773f587 · GitHub
Skip to content

Commit 773f587

Browse files
bnoordhuisdanielleadams
authored andcommitted
deps: cherry-pick libuv/libuv@3a7b955
Original commit log follows: darwin: translate EPROTOTYPE to ECONNRESET (libuv/libuv#3413) macOS versions 10.10 and 10.15 - and presumbaly 10.11 to 10.14, too - have a bug where a race condition causes the kernel to return EPROTOTYPE because the socket isn't fully constructed. It's probably the result of the peer closing the connection and that is why libuv translates it to ECONNRESET. Previously, libuv retried until the EPROTOTYPE error went away but some VPN software causes the same behavior except the error is permanent, not transient, turning the retry mechanism into an infinite loop. Refs: libuv/libuv#482 Refs: libuv/libuv#3405 Fixes: #43916 PR-URL: #43950 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Santiago Gimeno <santiago.gimeno@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
1 parent a1dea66 commit 773f587

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

deps/uv/src/unix/stream.c

Lines changed: 14 additions & 0 deletions

0 commit comments

Comments
 (0)