aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--sysdeps/posix/getaddrinfo.c14
2 files changed, 14 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 8ea6c28..07c5e5c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2000-08-21 Ulrich Drepper <drepper@redhat.com>
+ * sysdeps/posix/getaddrinfo.c (gethosts): Handle TRY_AGAIN error
+ of gethostbyname2_r call.
+
* intl/locale.alias: Add aliases for Korean.
2000-08-21 Martin Schwidefsky <schwidefsky@de.ibm.com>
diff --git a/sysdeps/posix/getaddrinfo.c b/sysdeps/posix/getaddrinfo.c
index 45d1da2..17d27e7 100644
--- a/sysdeps/posix/getaddrinfo.c
+++ b/sysdeps/posix/getaddrinfo.c
@@ -266,10 +266,18 @@ gaih_inet_serv (const char *servicename, struct gaih_typeproto *tp,
rc = __gethostbyname2_r (name, _family, &th, tmpbuf, \
tmpbuflen, &h, &herrno); \
} while (rc == ERANGE && herrno == NETDB_INTERNAL); \
- if (rc != 0 && herrno == NETDB_INTERNAL) \
+ if (rc != 0) \
{ \
- __set_h_errno (herrno); \
- return -EAI_SYSTEM; \
+ if (herrno == NETDB_INTERNAL) \
+ { \
+ __set_h_errno (herrno); \
+ return -EAI_SYSTEM; \
+ } \
+ if (herrno == TRY_AGAIN) \
+ { \
+ __set_h_errno (herrno); \
+ return -EAI_AGAIN; \
+ } \
} \
if (h != NULL) \
{ \