From fb7268b292b9dd1bcf11b47b4deadd0bbf6195af Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 21 Aug 2000 19:12:24 +0000 Subject: Update. * sysdeps/posix/getaddrinfo.c (gethosts): Handle TRY_AGAIN error of gethostbyname2_r call. --- sysdeps/posix/getaddrinfo.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'sysdeps/posix') 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) \ { \ -- cgit v1.1