aboutsummaryrefslogtreecommitdiffstats
path: root/p2p/peer.go
diff options
context:
space:
mode:
Diffstat (limited to 'p2p/peer.go')
-rw-r--r--p2p/peer.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/p2p/peer.go b/p2p/peer.go
index ac691f2ce..c7ec08887 100644
--- a/p2p/peer.go
+++ b/p2p/peer.go
@@ -131,10 +131,11 @@ func (p *Peer) run() DiscReason {
case err := <-p.protoErr:
reason = discReasonForError(err)
case reason = <-p.disc:
+ p.politeDisconnect(reason)
+ reason = DiscRequested
}
close(p.closed)
- p.politeDisconnect(reason)
p.wg.Wait()
glog.V(logger.Debug).Infof("%v: Disconnected: %v\n", p, reason)
return reason
@@ -191,7 +192,7 @@ func (p *Peer) handle(msg Msg) error {
// check errors because, the connection will be closed after it.
rlp.Decode(msg.Payload, &reason)
glog.V(logger.Debug).Infof("%v: Disconnect Requested: %v\n", p, reason[0])
- return DiscRequested
+ return reason[0]
case msg.Code < baseProtocolLength:
// ignore other base protocol messages
return msg.Discard()