diff options
author | Wei-Ning Huang <w@dexon.org> | 2019-03-17 14:28:19 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:58 +0800 |
commit | b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e (patch) | |
tree | 6a967297d627a6e0ac936e5cc79e743ba4022eb9 /dex | |
parent | a843206090d68fdbd2a5b254385cb19fb1714776 (diff) | |
download | go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.tar go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.tar.gz go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.tar.bz2 go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.tar.lz go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.tar.xz go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.tar.zst go-tangerine-b6fdd2f5fa7c09fc7af0dfef15300161e5dedc1e.zip |
dex: properly start and stop the block proposer module (#264)
Stop blockproposer in the Stop() method of node service so the process
doens't hang.
Diffstat (limited to 'dex')
-rw-r--r-- | dex/api.go | 8 | ||||
-rw-r--r-- | dex/backend.go | 15 | ||||
-rw-r--r-- | dex/handler.go | 4 |
3 files changed, 11 insertions, 16 deletions
diff --git a/dex/api.go b/dex/api.go index 23f98d7df..70976f071 100644 --- a/dex/api.go +++ b/dex/api.go @@ -131,14 +131,6 @@ func (api *PrivateAdminAPI) ImportChain(file string) (bool, error) { return true, nil } -func (api *PrivateAdminAPI) StartProposing() error { - return api.dex.StartProposing() -} - -func (api *PrivateAdminAPI) StopProposing() { - api.dex.StopProposing() -} - func (api *PrivateAdminAPI) IsCoreSyncing() bool { return api.dex.IsCoreSyncing() } diff --git a/dex/backend.go b/dex/backend.go index 0f68163c0..e90c3ad10 100644 --- a/dex/backend.go +++ b/dex/backend.go @@ -251,6 +251,10 @@ func (s *Dexon) Start(srvr *p2p.Server) error { } // Start the networking layer and the light server if requested s.protocolManager.Start(srvr, maxPeers) + + if s.config.BlockProposerEnabled { + s.bp.Start() + } return nil } @@ -260,17 +264,12 @@ func (s *Dexon) Stop() error { if s.indexer != nil { s.indexer.Stop() } + if s.config.BlockProposerEnabled { + s.bp.Stop() + } return nil } -func (s *Dexon) StartProposing() error { - return s.bp.Start() -} - -func (s *Dexon) StopProposing() { - s.bp.Stop() -} - func (s *Dexon) IsCoreSyncing() bool { return s.bp.IsCoreSyncing() } diff --git a/dex/handler.go b/dex/handler.go index ea04e6fbc..91d7360b2 100644 --- a/dex/handler.go +++ b/dex/handler.go @@ -310,6 +310,10 @@ func (pm *ProtocolManager) Stop() { pm.txsSub.Unsubscribe() // quits txBroadcastLoop pm.chainHeadSub.Unsubscribe() + if pm.isBlockProposer { + pm.finalizedBlockSub.Unsubscribe() + } + // Quit the sync loop. // After this send has completed, no new peers will be accepted. pm.noMorePeers <- struct{}{} |