BIND 10 master, updated. 6750a2bb8306b0c335f12f6d1bd97c1b0559bdd7 Merge branch 'master' of ssh://bind10.isc.org/var/bind10/git/bind10

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Feb 17 15:49:34 UTC 2011


The branch, master has been updated
       via  6750a2bb8306b0c335f12f6d1bd97c1b0559bdd7 (commit)
       via  dab32ddc42b4707968fbc056261c50d4fa08e408 (commit)
      from  72c4f5046949567927410bdb2ccb7ecb663d16dd (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 6750a2bb8306b0c335f12f6d1bd97c1b0559bdd7
Merge: dab32ddc42b4707968fbc056261c50d4fa08e408 72c4f5046949567927410bdb2ccb7ecb663d16dd
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Feb 17 16:49:29 2011 +0100

    Merge branch 'master' of ssh://bind10.isc.org/var/bind10/git/bind10

commit dab32ddc42b4707968fbc056261c50d4fa08e408
Author: Jelte Jansen <jelte at isc.org>
Date:   Thu Feb 17 16:48:28 2011 +0100

    [master] don't send SERVFAIL if we already sent an answer
    
    the check that we have already sent something if the timeout happens to fire was missing, discussed with Jeremy on jabber

-----------------------------------------------------------------------

Summary of changes:
 src/lib/asiolink/recursive_query.cc |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

-----------------------------------------------------------------------
diff --git a/src/lib/asiolink/recursive_query.cc b/src/lib/asiolink/recursive_query.cc
index 9f814b0..231be67 100644
--- a/src/lib/asiolink/recursive_query.cc
+++ b/src/lib/asiolink/recursive_query.cc
@@ -352,8 +352,10 @@ public:
         // we have an answer or timeout ourselves
         isc::resolve::makeErrorMessage(answer_message_,
                                        Rcode::SERVFAIL());
-        resolvercallback_->success(answer_message_);
-        answer_sent_ = true;
+        if (!answer_sent_) {
+            answer_sent_ = true;
+            resolvercallback_->success(answer_message_);
+        }
     }
 
     virtual void stop(bool resume) {
@@ -366,6 +368,7 @@ public:
         // until that one comes back to us)
         done_ = true;
         if (resume && !answer_sent_) {
+            answer_sent_ = true;
             resolvercallback_->success(answer_message_);
         } else {
             resolvercallback_->failure();




More information about the bind10-changes mailing list