From: Matt Joiner Date: Tue, 17 May 2016 06:07:49 +0000 (+1000) Subject: dht.Server.query: Return nil Transaction if there's an error X-Git-Tag: v1.0.0~714 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=95bb8a5eb3161ebb61fc6c39d713d3720c715e13;p=btrtrc.git dht.Server.query: Return nil Transaction if there's an error --- 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 }