From cb2ed89252bd4b15fdb71accbe6e968759168dff Mon Sep 17 00:00:00 2001 From: Steven Allen Date: Tue, 5 Dec 2017 09:09:32 -0800 Subject: [PATCH] bitswap: defer unlock when possible License: MIT Signed-off-by: Steven Allen --- exchange/bitswap/decision/engine.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/exchange/bitswap/decision/engine.go b/exchange/bitswap/decision/engine.go index 3ebadda39..6770b535d 100644 --- a/exchange/bitswap/decision/engine.go +++ b/exchange/bitswap/decision/engine.go @@ -298,15 +298,15 @@ func (e *Engine) MessageSent(p peer.ID, m bsmsg.BitSwapMessage) error { func (e *Engine) PeerConnected(p peer.ID) { e.lock.Lock() + defer e.lock.Unlock() l, ok := e.ledgerMap[p] if !ok { l = newLedger(p) e.ledgerMap[p] = l } l.lk.Lock() + defer l.lk.Unlock() l.ref++ - l.lk.Unlock() - e.lock.Unlock() } func (e *Engine) PeerDisconnected(p peer.ID) { @@ -317,11 +317,11 @@ func (e *Engine) PeerDisconnected(p peer.ID) { return } l.lk.Lock() + defer l.lk.Unlock() l.ref-- if l.ref <= 0 { delete(e.ledgerMap, p) } - l.lk.Unlock() } func (e *Engine) numBytesSentTo(p peer.ID) uint64 { @@ -337,12 +337,12 @@ func (e *Engine) numBytesReceivedFrom(p peer.ID) uint64 { // ledger lazily instantiates a ledger func (e *Engine) findOrCreate(p peer.ID) *ledger { e.lock.Lock() + defer e.lock.Unlock() l, ok := e.ledgerMap[p] if !ok { l = newLedger(p) e.ledgerMap[p] = l } - e.lock.Unlock() return l }