]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Add some extra conditions to prevent network activity when a torrent is closed
authorMatt Joiner <anacrolix@gmail.com>
Fri, 29 Jul 2016 14:41:45 +0000 (00:41 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Fri, 29 Jul 2016 14:41:45 +0000 (00:41 +1000)
From suggestions by @axet, this might be a thing sometimes.

torrent.go

index da0c92bbe13d93bb454ea52315bb18ee4ee6114d..dd3a83cfabd78e0a281317d83e09a8ba2a0e0560 100644 (file)
@@ -1066,6 +1066,9 @@ func (t *Torrent) readerPieces() (ret bitmap.Bitmap) {
 }
 
 func (t *Torrent) needData() bool {
+       if t.closed.IsSet() {
+               return false
+       }
        if !t.haveInfo() {
                return true
        }
@@ -1168,6 +1171,9 @@ func (t *Torrent) updateWantPeersEvent() {
 // Returns whether the client should make effort to seed the torrent.
 func (t *Torrent) seeding() bool {
        cl := t.cl
+       if t.closed.IsSet() {
+               return false
+       }
        if cl.config.NoUpload {
                return false
        }
@@ -1351,6 +1357,9 @@ func (t *Torrent) addConnection(c *connection) bool {
 }
 
 func (t *Torrent) wantConns() bool {
+       if t.closed.IsSet() {
+               return false
+       }
        if !t.seeding() && !t.needData() {
                return false
        }