p2p: don't silence oridinal disconnect reason

This commit is contained in:
Péter Szilágyi 2015-05-28 04:26:35 +03:00
parent 8fa64813d1
commit fea3d9c60e

View file

@ -123,10 +123,8 @@ func (p *Peer) run() DiscReason {
p.startProtocols() p.startProtocols()
// Wait for an error or disconnect. // Wait for an error or disconnect.
var ( var reason DiscReason
reason DiscReason
requested bool
)
select { select {
case err := <-readErr: case err := <-readErr:
if r, ok := err.(DiscReason); ok { if r, ok := err.(DiscReason); ok {
@ -140,15 +138,11 @@ func (p *Peer) run() DiscReason {
case err := <-p.protoErr: case err := <-p.protoErr:
reason = discReasonForError(err) reason = discReasonForError(err)
case reason = <-p.disc: case reason = <-p.disc:
requested = true
} }
close(p.closed) close(p.closed)
p.rw.close(reason) p.rw.close(reason)
p.wg.Wait() p.wg.Wait()
if requested {
reason = DiscRequested
}
glog.V(logger.Debug).Infof("%v: Disconnected: %v\n", p, reason) glog.V(logger.Debug).Infof("%v: Disconnected: %v\n", p, reason)
return reason return reason
} }