Merge pull request #10465 from ziggie1984/bugfix/fix-peer-disconnect-log
peer: fix log output when not applicable
This commit is contained in:
1 file changed
+15
-5
+15
-5
@@ -1648,13 +1648,23 @@ func (p *Brontide) Disconnect(reason error) {
|
|||||||
// started, otherwise we will skip reading it as this chan won't be
|
// started, otherwise we will skip reading it as this chan won't be
|
||||||
// closed, hence blocks forever.
|
// closed, hence blocks forever.
|
||||||
if atomic.LoadInt32(&p.started) == 1 {
|
if atomic.LoadInt32(&p.started) == 1 {
|
||||||
p.log.Debugf("Peer hasn't finished starting up yet, waiting " +
|
// First check if startup has already completed (non-blocking).
|
||||||
"on startReady signal before closing connection")
|
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-p.startReady:
|
case <-p.startReady:
|
||||||
case <-p.cg.Done():
|
// Startup already completed, no need to wait.
|
||||||
return
|
|
||||||
|
default:
|
||||||
|
// Still starting up, need to wait.
|
||||||
|
p.log.Debugf("Peer hasn't finished starting up yet, " +
|
||||||
|
"waiting on startReady signal before " +
|
||||||
|
"closing connection")
|
||||||
|
|
||||||
|
select {
|
||||||
|
case <-p.startReady:
|
||||||
|
|
||||||
|
case <-p.cg.Done():
|
||||||
|
return
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user