From 95bb8a5eb3161ebb61fc6c39d713d3720c715e13 Mon Sep 17 00:00:00 2001 From: Matt Joiner Date: Tue, 17 May 2016 16:07:49 +1000 Subject: [PATCH] dht.Server.query: Return nil Transaction if there's an error --- dht/server.go | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/dht/server.go b/dht/server.go index 37a5cc6b..c0f3127c 100644 --- a/dht/server.go +++ b/dht/server.go @@ -446,7 +446,7 @@ func (s *Server) query(node Addr, q string, a map[string]interface{}, onResponse if err != nil { return } - t = &Transaction{ + _t := &Transaction{ remoteAddr: node, t: tid, response: make(chan Msg, 1), @@ -455,15 +455,16 @@ func (s *Server) query(node Addr, q string, a map[string]interface{}, onResponse s: s, onResponse: onResponse, } - err = t.sendQuery() + err = _t.sendQuery() if err != nil { return } s.getNode(node, "").lastSentQuery = time.Now() - t.mu.Lock() - t.startTimer() - t.mu.Unlock() - s.addTransaction(t) + _t.mu.Lock() + _t.startTimer() + _t.mu.Unlock() + s.addTransaction(_t) + t = _t return } -- 2.48.1