webseed-peer.go | 6 +++++- diff --git a/webseed-peer.go b/webseed-peer.go index cfce1e81d4b2768b9264340f28586c21b6ce2c7d..85e121194d28c22c6d3180a6d8a45cd79d7a1c80 100644 --- a/webseed-peer.go +++ b/webseed-peer.go @@ -124,7 +124,11 @@ 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() {