[PATCH][BZ #14719] Return EAI_SYSTEM from getaddrinfo if we run out of fds
Siddhesh Poyarekar
siddhesh@redhat.com
Mon Apr 8 12:55:00 GMT 2013
On Mon, Apr 08, 2013 at 07:36:14AM +0400, Dmitry V. Levin wrote:
> There is a slightly different case when it also shouldn't be EAI_SYSTEM:
>
> $ strace -econnect,sendto ./t
> ...
> connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.0.43.10")}, 16) = 0
> sendto(3, "\317I\1\0\0\1\0\0\0\0\0\0\7example\3net\0\0\1\0\1", 29, MSG_NOSIGNAL, NULL, 0) = -1 EPERM (Operation not permitted)
> ...
> System error: Resource temporarily unavailable
> +++ exited with 1 +++
>
> Such an environment could be constructed, e.g. by filtering outgoing
> packets using iptables (-j REJECT --reject-with icmp-net-unreachable).
>
Have you tried this with the patch I posted[1] last week? I get
EAI_NONAME with my patch.
Siddhesh
[1] http://sourceware.org/ml/libc-alpha/2013-04/msg00088.html
More information about the Libc-alpha
mailing list