dht/server.go | 13 +++++++------ diff --git a/dht/server.go b/dht/server.go index 37a5cc6bc34b0480e2bdeb65a0bfb534489008d3..c0f3127c557fa7acc623e6b0665eb0341b9d135f 100644 --- a/dht/server.go +++ b/dht/server.go @@ -446,7 +446,7 @@ b, err := bencode.Marshal(d) if err != nil { return } - t = &Transaction{ + _t := &Transaction{ remoteAddr: node, t: tid, response: make(chan Msg, 1), @@ -455,15 +455,16 @@ queryPacket: b, 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 }