Fixes a bug where received chunks are immediately requested while still being processed.
func (ws *webseedPeer) handleUpdateRequests() {
// Because this is synchronous, webseed peers seem to get first dibs on newly prioritized
// pieces.
func (ws *webseedPeer) handleUpdateRequests() {
// Because this is synchronous, webseed peers seem to get first dibs on newly prioritized
// pieces.
- ws.peer.maybeUpdateActualRequestState()
+ go func() {
+ ws.peer.t.cl.lock()
+ defer ws.peer.t.cl.unlock()
+ ws.peer.maybeUpdateActualRequestState()
+ }()
}
func (ws *webseedPeer) onClose() {
}
func (ws *webseedPeer) onClose() {