summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan <thgall@mail.ru>2021-06-10 16:19:08 +0300
committerJens Geyer <jensg@apache.org>2021-06-23 20:51:20 +0200
commitab72ebe564f890f5e37a9a7f892dc590d3d98834 (patch)
tree36134a51b378c942fc1a3518b4e3ebe8401803bc
parent58fa7b4610dc78cad434fcdc535c79082a53160b (diff)
downloadthrift-ab72ebe564f890f5e37a9a7f892dc590d3d98834.tar.gz
Android restricts use of AI_V4MAPPED flag.
Client: cpp Patch: Ruslan <thgall@mail.ru> This closes #2406
-rw-r--r--lib/cpp/src/thrift/transport/TServerSocket.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/cpp/src/thrift/transport/TServerSocket.cpp b/lib/cpp/src/thrift/transport/TServerSocket.cpp
index 0c32b106e..5e7e2c0c7 100644
--- a/lib/cpp/src/thrift/transport/TServerSocket.cpp
+++ b/lib/cpp/src/thrift/transport/TServerSocket.cpp
@@ -404,7 +404,11 @@ void TServerSocket::listen() {
if (tcp) {
try {
resolved_addresses.resolve(address_, std::to_string(port_), SOCK_STREAM,
+#ifdef ANDROID
+ AI_PASSIVE | AI_ADDRCONFIG);
+#else
AI_PASSIVE | AI_V4MAPPED);
+#endif
} catch (const std::system_error& e) {
GlobalOutput.printf("getaddrinfo() -> %d; %s", e.code().value(), e.what());
close();