summaryrefslogtreecommitdiff
path: root/resolv/res_send.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2009-04-24 08:00:37 +0000
committerJakub Jelinek <jakub@redhat.com>2009-04-24 08:00:37 +0000
commit7dec33c08e4755e72d1280e48e61f0141dfc1da5 (patch)
tree22aa7aa8ebc1f795e180c8c0d99cdda7d2a3ffef /resolv/res_send.c
parent335206256c84eaefab082284523e5b8f89fcffb2 (diff)
Updated to fedora-glibc-20090424T0747cvs/fedora-glibc-2_9_90-20
Diffstat (limited to 'resolv/res_send.c')
-rw-r--r--resolv/res_send.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/resolv/res_send.c b/resolv/res_send.c
index a339c2be51..25a854f72e 100644
--- a/resolv/res_send.c
+++ b/resolv/res_send.c
@@ -1048,9 +1048,7 @@ send_dg(res_state statp,
}
if (n == 0) {
Dprint(statp->options & RES_DEBUG, (stdout, ";; timeout\n"));
- if (!single_request
- && resplen > 1
- && (recvresp1 || (buf2 != NULL && recvresp2)))
+ if (resplen > 1 && (recvresp1 || (buf2 != NULL && recvresp2)))
{
/* There are quite a few broken name servers out
there which don't handle two outstanding
@@ -1059,9 +1057,15 @@ send_dg(res_state statp,
having received one answer switch to the mode
where we send the second request only once we
have received the first answer. */
- single_request = true;
- *gotsomewhere = save_gotsomewhere;
- goto retry;
+ if (!single_request)
+ {
+ single_request = true;
+ *gotsomewhere = save_gotsomewhere;
+ goto retry;
+ }
+
+ *resplen2 = 1;
+ return resplen;
}
*gotsomewhere = 1;