* sysdeps/posix/getaddrinfo.c: Move _res_hconf_init call to a

better place so it is not called when nscd is used.
This commit is contained in:
Ulrich Drepper 2008-06-13 23:35:47 +00:00
parent a0edbb484a
commit d0a1ae9464
2 changed files with 12 additions and 21 deletions

View File

@ -1,5 +1,8 @@
2008-06-13 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c: Move _res_hconf_init call to a
better place so it is not called when nscd is used.
* nscd/connections.c: Also recognize and handle changes to the
resolver configuration file.

View File

@ -684,6 +684,9 @@ gaih_inet (const char *name, const struct gaih_service *service,
"dns [!UNAVAIL=return] files",
&nip);
/* Initialize configurations. */
if (__builtin_expect (!_res_hconf.initialized, 0))
_res_hconf_init ();
if (__res_maybe_init (&_res, 0) == -1)
no_more = 1;
@ -883,9 +886,6 @@ gaih_inet (const char *name, const struct gaih_service *service,
}
}
if (pai == NULL)
return 0;
{
struct gaih_servtuple *st2;
struct gaih_addrtuple *at2 = at;
@ -2091,10 +2091,6 @@ getaddrinfo (const char *name, const char *service,
if ((hints->ai_flags & AI_CANONNAME) && name == NULL)
return EAI_BADFLAGS;
/* Initialize configurations. */
if (__builtin_expect (!_res_hconf.initialized, 0))
_res_hconf_init ();
struct in6addrinfo *in6ai = NULL;
size_t in6ailen = 0;
bool seen_ipv4 = false;
@ -2149,11 +2145,7 @@ getaddrinfo (const char *name, const char *service,
else
pservice = NULL;
struct addrinfo **end;
if (pai)
end = &p;
else
end = NULL;
struct addrinfo **end = &p;
unsigned int naddrs = 0;
if (hints->ai_family == AF_UNSPEC || hints->ai_family == AF_INET
@ -2167,12 +2159,11 @@ getaddrinfo (const char *name, const char *service,
return -(last_i & GAIH_EAI);
}
if (end)
while (*end)
{
end = &((*end)->ai_next);
++nresults;
}
while (*end)
{
end = &((*end)->ai_next);
++nresults;
}
}
else
{
@ -2368,9 +2359,6 @@ getaddrinfo (const char *name, const char *service,
return 0;
}
if (pai == NULL && last_i == 0)
return 0;
return last_i ? -(last_i & GAIH_EAI) : EAI_NONAME;
}
libc_hidden_def (getaddrinfo)