]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Fix panic in webseeds updating requests when Torrent is closed
authorMatt Joiner <anacrolix@gmail.com>
Mon, 20 Dec 2021 03:32:37 +0000 (14:32 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 23 Dec 2021 03:00:01 +0000 (14:00 +1100)
I think this was caused by PieceRequestOrder being removed if all pieces in a storage capacity key are deleted.

requesting.go

index 53d5f324e45a3f9217b2378604c863d3605bcb6d..e480ed41c5d4c65609d7dbf0c547924eb15f70b8 100644 (file)
@@ -154,6 +154,9 @@ func (p *Peer) getDesiredRequestState() (desired desiredRequestState) {
        if !p.t.haveInfo() {
                return
        }
+       if p.t.closed.IsSet() {
+               return
+       }
        input := p.t.getRequestStrategyInput()
        requestHeap := peerRequests{
                peer: p,