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 | |
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)
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | resolv/res_send.c | 3 |
2 files changed, 7 insertions, 1 deletions
@@ -1,3 +1,8 @@ +2009-06-11 Ulrich Drepper <drepper@redhat.com> + + * resolv/res_send.c (send_dg): Remember we switched to + single-request mode. + 2009-06-09 Ulrich Drepper <drepper@redhat.com> * dlfcn/dlfcn.h: Remove comma at end of enum. 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; |