mirror of
https://github.com/kaspanet/kaspad.git
synced 2025-11-24 14:35:53 +00:00
DownloadHeaders: Instead of using doneChan - close blockHeadersMessageChan. (#1523)
This commit is contained in:
parent
05d1671f3a
commit
6db296b98b
@ -221,7 +221,6 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
|
|||||||
// headers
|
// headers
|
||||||
blockHeadersMessageChan := make(chan *appmessage.BlockHeadersMessage, 2)
|
blockHeadersMessageChan := make(chan *appmessage.BlockHeadersMessage, 2)
|
||||||
errChan := make(chan error)
|
errChan := make(chan error)
|
||||||
doneChan := make(chan interface{})
|
|
||||||
spawn("handleRelayInvsFlow-downloadHeaders", func() {
|
spawn("handleRelayInvsFlow-downloadHeaders", func() {
|
||||||
for {
|
for {
|
||||||
blockHeadersMessage, doneIBD, err := flow.receiveHeaders()
|
blockHeadersMessage, doneIBD, err := flow.receiveHeaders()
|
||||||
@ -230,7 +229,7 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if doneIBD {
|
if doneIBD {
|
||||||
doneChan <- struct{}{}
|
close(blockHeadersMessageChan)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -246,7 +245,10 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
|
|||||||
|
|
||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case blockHeadersMessage := <-blockHeadersMessageChan:
|
case blockHeadersMessage, ok := <-blockHeadersMessageChan:
|
||||||
|
if !ok {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
for _, header := range blockHeadersMessage.BlockHeaders {
|
for _, header := range blockHeadersMessage.BlockHeaders {
|
||||||
err = flow.processHeader(header)
|
err = flow.processHeader(header)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -255,8 +257,6 @@ func (flow *handleRelayInvsFlow) downloadHeaders(highestSharedBlockHash *externa
|
|||||||
}
|
}
|
||||||
case err := <-errChan:
|
case err := <-errChan:
|
||||||
return err
|
return err
|
||||||
case <-doneChan:
|
|
||||||
return nil
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user