|
|
@@ -365,6 +365,7 @@ func (p *Peer) startProtocols(writeStart <-chan struct{}, writeErr chan<- error)
|
|
|
}
|
|
|
p.log.Trace(fmt.Sprintf("Starting protocol %s/%d", proto.Name, proto.Version))
|
|
|
go func() {
|
|
|
+ defer p.wg.Done()
|
|
|
err := proto.Run(p, rw)
|
|
|
if err == nil {
|
|
|
p.log.Trace(fmt.Sprintf("Protocol %s/%d returned", proto.Name, proto.Version))
|
|
|
@@ -373,7 +374,6 @@ func (p *Peer) startProtocols(writeStart <-chan struct{}, writeErr chan<- error)
|
|
|
p.log.Trace(fmt.Sprintf("Protocol %s/%d failed", proto.Name, proto.Version), "err", err)
|
|
|
}
|
|
|
p.protoErr <- err
|
|
|
- p.wg.Done()
|
|
|
}()
|
|
|
}
|
|
|
}
|