do not add peer to switch if it fails to start

This commit is contained in:
Anton Kaliaev
2018-03-23 13:29:40 +01:00
parent 116a4ec705
commit 214817ed17

View File

@@ -547,7 +547,9 @@ func (sw *Switch) addPeer(pc peerConn) error {
// All good. Start peer
if sw.IsRunning() {
sw.startInitPeer(peer)
if err = sw.startInitPeer(peer); err != nil {
return err
}
}
// Add the peer to .peers.
@@ -561,14 +563,17 @@ func (sw *Switch) addPeer(pc peerConn) error {
return nil
}
func (sw *Switch) startInitPeer(peer *peer) {
func (sw *Switch) startInitPeer(peer *peer) error {
err := peer.Start() // spawn send/recv routines
if err != nil {
// Should never happen
sw.Logger.Error("Error starting peer", "peer", peer, "err", err)
return err
}
for _, reactor := range sw.reactors {
reactor.AddPeer(peer)
}
return nil
}