This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi, On Tue, Oct 23, 2012 at 05:18:35PM +0530, Siddhesh Poyarekar wrote: > > As described in the bug report, the current behaviour for getaddrinfo > when it runs out of file descriptors is to return EAI_NOTFOUND, which > is incorrect. Since a system error has occurred, it should be > returning EAI_SYSTEM so that the real cause of the failure could be > seen from errno. Attached patch does that. Tested on x86_64 Fedora > 16 for AF_INET, AF_UNSPEC and AF_INET6. OK to commit? > > Regards, > Siddhesh > > ChangeLog: > > [BZ #14719] > * nss/getXXbyYY_r.c (INTERNAL (REENTRANT_NAME)): Set h_errno to > NETDB_INTERNAL when NSS_STATUS_UNAVAIL. > * resolv/nss_dns/dns-host.c (_nss_dns_gethostbyname3_r): Set > h_errno to NETDB_INTERNAL when errno is EMFILE or ENFILE. > (_nss_dns_gethostbyname4_r): Likewise. > * sysdeps/posix/getaddrinfo.c (gaih_inet): Set result to > EAI_SYSTEM if NSS_STATUS_UNAVAIL. As a side effect of this change, ECONNREFUSED results to EAI_SYSTEM instead of EAI_AGAIN. Caught by gnulib's test-getaddrinfo which now fails when no network is available: http://git.savannah.gnu.org/cgit/gnulib.git/tree/tests/test-getaddrinfo.c Other apps may rely on getaddrinfo returning EAI_AGAIN in case of ECONNREFUSED, so this is a regression. -- ldv
Attachment:
pgpwCpEmAx8cO.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |