[Lldb-commits] [PATCH] D79757: Try IPv4 before IPv6 when creating TCP connection
Emre Kultursay via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon May 11 18:23:26 PDT 2020
emrekultursay updated this revision to Diff 263327.
emrekultursay added a comment.
Update commit message.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D79757/new/
https://reviews.llvm.org/D79757
Files:
lldb/source/Host/common/TCPSocket.cpp
Index: lldb/source/Host/common/TCPSocket.cpp
===================================================================
--- lldb/source/Host/common/TCPSocket.cpp
+++ lldb/source/Host/common/TCPSocket.cpp
@@ -162,6 +162,12 @@
std::vector<SocketAddress> addresses = SocketAddress::GetAddressInfo(
host_str.c_str(), nullptr, AF_UNSPEC, SOCK_STREAM, IPPROTO_TCP);
+ // IPv4 is more likely to succeed than IPv6. To avoid costly retries,
+ // we sort based on family to prioritize IPv4 over IPv6.
+ std::sort(addresses.begin(), addresses.end(),
+ [](SocketAddress a, SocketAddress b) {
+ return a.GetFamily() < b.GetFamily();
+ });
for (SocketAddress &address : addresses) {
error = CreateSocket(address.GetFamily());
if (error.Fail())
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D79757.263327.patch
Type: text/x-patch
Size: 786 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20200512/32b0d8d0/attachment.bin>
More information about the lldb-commits
mailing list