From 9a4803642b4211e6f4f5414cda6ac2134709008a Mon Sep 17 00:00:00 2001 From: Wei-Ning Huang Date: Wed, 2 Jan 2019 18:58:59 +0800 Subject: vendor: sync to latest core (#121) --- .../dexon-foundation/dexon-consensus/core/consensus.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'vendor/github.com') diff --git a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go index 3353d1d60..faadbe9bd 100644 --- a/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go +++ b/vendor/github.com/dexon-foundation/dexon-consensus/core/consensus.go @@ -563,14 +563,17 @@ func (con *Consensus) prepare(initBlock *types.Block) error { if err != nil { return err } - // TODO(jimmy): registerDKG should be called after dmoment. if _, exist := dkgSet[con.ID]; exist { con.logger.Info("Selected as DKG set", "round", initRound) - con.cfgModule.registerDKG(initRound, getDKGThreshold(initConfig)) - con.event.RegisterTime(con.dMoment.Add(initConfig.RoundInterval/4), - func(time.Time) { - con.runDKG(initRound, initConfig) - }) + go func() { + // Sleep until dMoment come. + time.Sleep(con.dMoment.Sub(time.Now().UTC())) + con.cfgModule.registerDKG(initRound, getDKGThreshold(initConfig)) + con.event.RegisterTime(con.dMoment.Add(initConfig.RoundInterval/4), + func(time.Time) { + con.runDKG(initRound, initConfig) + }) + }() } con.initialRound(con.dMoment, initRound, initConfig) return nil -- cgit v1.2.3