]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Reader.Close: Prefer to lock Client in public method
authorMatt Joiner <anacrolix@gmail.com>
Mon, 31 Oct 2016 08:05:33 +0000 (19:05 +1100)
committerMatt Joiner <anacrolix@gmail.com>
Mon, 31 Oct 2016 08:05:33 +0000 (19:05 +1100)
reader.go
t.go

index b3b6fd9be6ac099640770327fa0e45f9b6a88b0f..0336a2fd7388a73d584357310e6ba99d41d1231c 100644 (file)
--- a/reader.go
+++ b/reader.go
@@ -208,6 +208,8 @@ func (r *Reader) readOnceAt(b []byte, pos int64, ctxErr *error) (n int, err erro
 }
 
 func (r *Reader) Close() error {
+       r.t.cl.mu.Lock()
+       defer r.t.cl.mu.Unlock()
        r.t.deleteReader(r)
        r.t = nil
        return nil
diff --git a/t.go b/t.go
index b17226be9b16d7269564f31b1f84b25aa8cb8184..8454d02bec73d9f9dbf3ee7d1c28d89132d0e47a 100644 (file)
--- a/t.go
+++ b/t.go
@@ -136,8 +136,6 @@ func (t *Torrent) addReader(r *Reader) {
 }
 
 func (t *Torrent) deleteReader(r *Reader) {
-       t.cl.mu.Lock()
-       defer t.cl.mu.Unlock()
        delete(t.readers, r)
        t.readersChanged()
 }