summaryrefslogtreecommitdiff
path: root/lib/erl_interface/src
diff options
context:
space:
mode:
authorSverker Eriksson <sverker@erlang.org>2022-03-14 18:52:56 +0100
committerSverker Eriksson <sverker@erlang.org>2022-03-14 18:52:56 +0100
commit382ca5bec172f4c6eb091792d981f2e32313ae15 (patch)
treec5251d05765758f65dc9dfca2676afa4436b560c /lib/erl_interface/src
parentdf5cd85b25182de6673f08465c6bc6bc2714bc23 (diff)
parentde1a8e419e65ee6a7d73f823c90b2a25d9377e4a (diff)
downloaderlang-382ca5bec172f4c6eb091792d981f2e32313ae15.tar.gz
Merge 'jdb/ei/fix-ei_resolve.c-compilation-for-Android' into maint
OTP-17975
Diffstat (limited to 'lib/erl_interface/src')
-rw-r--r--lib/erl_interface/src/connect/ei_resolve.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/erl_interface/src/connect/ei_resolve.c b/lib/erl_interface/src/connect/ei_resolve.c
index 5e8fb2b1eb..c3ac6023f2 100644
--- a/lib/erl_interface/src/connect/ei_resolve.c
+++ b/lib/erl_interface/src/connect/ei_resolve.c
@@ -48,8 +48,11 @@
* thread-safe according to curl - but bizarrely, since AIX 4.3, libc
* is thread-safe in a manner that makes the normal gethostbyname OK
* for re-entrant use.
+ *
+ * gethostbyaddr_r was added in Android 6.0 Marshmallow so check if
+ * the build is targeting at least the corresponding API level 23.
*/
-#if defined(_AIX) || defined(__NetBSD__)
+#if defined(_AIX) || defined(__NetBSD__) || (defined(__ANDROID__) && (__ANDROID_API__ < 23))
#undef HAVE_GETHOSTBYNAME_R
#endif
@@ -73,7 +76,7 @@ int ei_init_resolve(void)
static ei_mutex_t *ei_gethost_sem = NULL;
#endif /* _REENTRANT */
static int ei_resolve_initialized = 0;
-#if !defined(__WIN32__) && !defined(_AIX) && !defined(__NetBSD__)
+#if !defined(__WIN32__) && !defined(_AIX) && !defined(__NetBSD__) && !(defined(__ANDROID__) && (__ANDROID_API__ < 23))
int h_errno;
#endif