diff --git a/client.go b/client.go index dd03f338..cbf074f7 100644 --- a/client.go +++ b/client.go @@ -572,8 +572,8 @@ func (cl *Client) incomingConnection(nc net.Conn) { // Returns a handle to the given torrent, if it's present in the client. func (cl *Client) Torrent(ih metainfo.Hash) (t *Torrent, ok bool) { - cl.lock() - defer cl.unlock() + cl.rLock() + defer cl.rUnlock() t, ok = cl.torrents[ih] return } @@ -1402,8 +1402,8 @@ func (cl *Client) WaitAll() bool { // Returns handles to all the torrents loaded in the Client. func (cl *Client) Torrents() []*Torrent { - cl.lock() - defer cl.unlock() + cl.rLock() + defer cl.rUnlock() return cl.torrentsAsSlice() }