Skip to content

Commit

Permalink
swarm: fix a data race on startTime (ethereum#18511)
Browse files Browse the repository at this point in the history
  • Loading branch information
janos authored and nonsense committed Jan 24, 2019
1 parent bbd1203 commit fa34429
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions swarm/swarm.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ import (
)

var (
startTime time.Time
updateGaugesPeriod = 5 * time.Second
startCounter = metrics.NewRegisteredCounter("stack,start", nil)
stopCounter = metrics.NewRegisteredCounter("stack,stop", nil)
Expand All @@ -80,6 +79,7 @@ type Swarm struct {
swap *swap.Swap
stateStore *state.DBStore
accountingMetrics *protocols.AccountingMetrics
startTime time.Time

tracerClose io.Closer
}
Expand Down Expand Up @@ -344,7 +344,7 @@ Start is called when the stack is started
*/
// implements the node.Service interface
func (self *Swarm) Start(srv *p2p.Server) error {
startTime = time.Now()
self.startTime = time.Now()

self.tracerClose = tracing.Closer

Expand Down Expand Up @@ -414,7 +414,7 @@ func (self *Swarm) periodicallyUpdateGauges() {
}

func (self *Swarm) updateGauges() {
uptimeGauge.Update(time.Since(startTime).Nanoseconds())
uptimeGauge.Update(time.Since(self.startTime).Nanoseconds())
requestsCacheGauge.Update(int64(self.netStore.RequestsCacheLen()))
}

Expand Down

0 comments on commit fa34429

Please sign in to comment.