fix some logic
Jeromy committed
Apr 3, 2015 at 11:42 UTC
76e879c9e06c02b5cb70c81651f49bdc704debee
1 file changed
+4
-3
exchange/bitswap/decision/peer_request_queue.go
+4
-3
@@ -89,14 +89,15 @@ func (tl *prq) Pop() *peerRequestTask {
89
out = partner.taskQueue.Pop().(*peerRequestTask)
90
delete(tl.taskMap, out.Key())
91
if out.trash {
92
+ out = nil
93
continue // discarding tasks that have been removed
94
}
95
+
96
+ partner.StartTask()
97
+ partner.requests--
98
break // and return |out|
99
}
100
97
- // start the new task, and push the partner back onto the queue
98
- partner.StartTask()
99
- partner.requests--
101
tl.pQueue.Push(partner)
102
return out
103
}