]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Don't issue webseed requests that clobber pending cancels
authorMatt Joiner <anacrolix@gmail.com>
Thu, 14 Aug 2025 02:27:23 +0000 (12:27 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Thu, 14 Aug 2025 02:36:14 +0000 (12:36 +1000)
webseed-requesting.go

index e1b85a35a4e1f26c01f413a3a85376d83535272e..3bd95f500e80f3b17588f86d4c4f18b85ba116f4 100644 (file)
@@ -424,11 +424,14 @@ func (cl *Client) iterCurrentWebseedRequests() iter.Seq2[webseedUniqueRequestKey
                                                // This request is done, so don't yield it.
                                                continue
                                        }
-                                       if ar.cancelled.Load() {
-                                               cl.slogger.Debug("iter current webseed requests: skipped cancelled webseed request")
-                                               // This should prevent overlapping webseed requests that are just filling
-                                               // slots waiting to cancel from conflicting.
-                                               continue
+                                       // Don't spawn requests before old requests are cancelled.
+                                       if false {
+                                               if ar.cancelled.Load() {
+                                                       cl.slogger.Debug("iter current webseed requests: skipped cancelled webseed request")
+                                                       // This should prevent overlapping webseed requests that are just filling
+                                                       // slots waiting to cancel from conflicting.
+                                                       continue
+                                               }
                                        }
                                        p := t.piece(t.pieceIndexOfRequestIndex(ar.next))
                                        if !yield(