eth/downloader: moved start event
Start event has moved because it could possibly could stall the miner
This commit is contained in:
parent
fe64a13cea
commit
c2ef8682fe
@ -145,8 +145,6 @@ func (d *Downloader) Synchronise(id string, hash common.Hash) error {
|
|||||||
glog.V(logger.Info).Infoln("Block synchronisation started")
|
glog.V(logger.Info).Infoln("Block synchronisation started")
|
||||||
}
|
}
|
||||||
|
|
||||||
d.mux.Post(StartEvent{})
|
|
||||||
|
|
||||||
// Create cancel channel for aborting mid-flight
|
// Create cancel channel for aborting mid-flight
|
||||||
d.cancelLock.Lock()
|
d.cancelLock.Lock()
|
||||||
d.cancelCh = make(chan struct{})
|
d.cancelCh = make(chan struct{})
|
||||||
@ -166,6 +164,7 @@ func (d *Downloader) Synchronise(id string, hash common.Hash) error {
|
|||||||
if p == nil {
|
if p == nil {
|
||||||
return errUnknownPeer
|
return errUnknownPeer
|
||||||
}
|
}
|
||||||
|
|
||||||
return d.syncWithPeer(p, hash)
|
return d.syncWithPeer(p, hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -181,6 +180,7 @@ func (d *Downloader) Has(hash common.Hash) bool {
|
|||||||
// syncWithPeer starts a block synchronization based on the hash chain from the
|
// syncWithPeer starts a block synchronization based on the hash chain from the
|
||||||
// specified peer and head hash.
|
// specified peer and head hash.
|
||||||
func (d *Downloader) syncWithPeer(p *peer, hash common.Hash) (err error) {
|
func (d *Downloader) syncWithPeer(p *peer, hash common.Hash) (err error) {
|
||||||
|
d.mux.Post(StartEvent{})
|
||||||
defer func() {
|
defer func() {
|
||||||
// reset on error
|
// reset on error
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -49,6 +49,7 @@ func (self *CpuAgent) Start() {
|
|||||||
|
|
||||||
self.quit = make(chan struct{})
|
self.quit = make(chan struct{})
|
||||||
// creating current op ch makes sure we're not closing a nil ch
|
// creating current op ch makes sure we're not closing a nil ch
|
||||||
|
// later on
|
||||||
self.quitCurrentOp = make(chan struct{})
|
self.quitCurrentOp = make(chan struct{})
|
||||||
self.workCh = make(chan *types.Block, 1)
|
self.workCh = make(chan *types.Block, 1)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user