reader.go | 2 ++ t.go | 2 -- diff --git a/reader.go b/reader.go index b3b6fd9be6ac099640770327fa0e45f9b6a88b0f..0336a2fd7388a73d584357310e6ba99d41d1231c 100644 --- a/reader.go +++ b/reader.go @@ -208,6 +208,8 @@ } } 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 --- a/t.go +++ b/t.go @@ -136,8 +136,6 @@ r.posChanged() } func (t *Torrent) deleteReader(r *Reader) { - t.cl.mu.Lock() - defer t.cl.mu.Unlock() delete(t.readers, r) t.readersChanged() }