diff options
author | Ulrich Drepper <drepper@redhat.com> | 2009-06-11 10:07:33 -0700 |
---|---|---|
committer | Petr Baudis <pasky@suse.cz> | 2009-06-12 11:41:55 +0200 |
commit | 53f32b044fff54341c426a9ba16753b881d32f91 (patch) | |
tree | 33adcd82e3be25ab6fd8a4ff786b63de89e9a1e7 /resolv | |
parent | ac37d9836e2967b9d5cd5b260910db53fbab1858 (diff) |
Remember we switched to single-request mode.
This change prevents repetition in most later calls of the resolver
in case the DNS server or the network connection is broken.
(cherry picked from commit 310647e9809986986650994d036af18ca9b17fb2)
Diffstat (limited to 'resolv')
-rw-r--r-- | resolv/res_send.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/resolv/res_send.c b/resolv/res_send.c index 25a854f72e..39c69da2bc 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -1008,7 +1008,7 @@ send_dg(res_state statp, seconds /= statp->nscount; if (seconds <= 0) seconds = 1; - bool single_request = ((statp->options) & RES_SNGLKUP) != 0;// XXX + bool single_request = (statp->options & RES_SNGLKUP) != 0;// XXX int save_gotsomewhere = *gotsomewhere; retry: evNowTime(&now); @@ -1059,6 +1059,7 @@ send_dg(res_state statp, have received the first answer. */ if (!single_request) { + statp->options |= RES_SNGLKUP; single_request = true; *gotsomewhere = save_gotsomewhere; goto retry; |