Merge pull request #844 from tendermint/bunch-up-p2p.AddrBook-wg-calls

p2p: comment on the wg.Add before go saveRoutine()
This commit is contained in:
Ethan Buchman 2017-11-14 17:18:27 +00:00 committed by GitHub
commit 695266e907
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 6 additions and 1 deletions

View File

@ -127,8 +127,12 @@ func (a *AddrBook) init() {
func (a *AddrBook) OnStart() error {
a.BaseService.OnStart()
a.loadFromFile(a.filePath)
// wg.Add to ensure that any invocation of .Wait()
// later on will wait for saveRoutine to terminate.
a.wg.Add(1)
go a.saveRoutine()
return nil
}
@ -391,6 +395,8 @@ func (a *AddrBook) Save() {
/* Private methods */
func (a *AddrBook) saveRoutine() {
defer a.wg.Done()
dumpAddressTicker := time.NewTicker(dumpAddressInterval)
out:
for {
@ -403,7 +409,6 @@ out:
}
dumpAddressTicker.Stop()
a.saveToFile(a.filePath)
a.wg.Done()
a.Logger.Info("Address handler done")
}