From 71ada4696fe16c3923fb7dae7bf31e6eda6bcf13 Mon Sep 17 00:00:00 2001 From: Juan Batiz-Benet Date: Sat, 3 Jan 2015 06:16:09 -0800 Subject: [PATCH] bitswap net: always close --- exchange/bitswap/network/ipfs_impl.go | 23 ++++++++++------------- 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/exchange/bitswap/network/ipfs_impl.go b/exchange/bitswap/network/ipfs_impl.go index c2a87ce0a..2f3fe950b 100644 --- a/exchange/bitswap/network/ipfs_impl.go +++ b/exchange/bitswap/network/ipfs_impl.go @@ -97,23 +97,20 @@ func (bsnet *impl) Provide(ctx context.Context, k util.Key) error { // handleNewStream receives a new stream from the network. func (bsnet *impl) handleNewStream(s inet.Stream) { + defer s.Close() if bsnet.receiver == nil { return } - go func() { - defer s.Close() - - received, err := bsmsg.FromNet(s) - if err != nil { - go bsnet.receiver.ReceiveError(err) - return - } - - p := s.Conn().RemotePeer() - ctx := context.Background() - bsnet.receiver.ReceiveMessage(ctx, p, received) - }() + received, err := bsmsg.FromNet(s) + if err != nil { + go bsnet.receiver.ReceiveError(err) + return + } + p := s.Conn().RemotePeer() + ctx := context.Background() + log.Debugf("bsnet handleNewStream from %s", s.Conn().RemotePeer()) + bsnet.receiver.ReceiveMessage(ctx, p, received) }