# HG changeset patch # User Sascha L. Teichmann # Date 1581276294 -3600 # Node ID ab6eb160cd290dfba0579ad414fda488ce8a7963 # Parent af38a19f615aaa60cc9ed834c3a86770dd1c6fdd Sounding result cache: Start background cache cleanup lazily only when the cache is really used. diff -r af38a19f615a -r ab6eb160cd29 pkg/mesh/cache.go --- a/pkg/mesh/cache.go Tue Feb 04 16:29:49 2020 +0100 +++ b/pkg/mesh/cache.go Sun Feb 09 20:24:54 2020 +0100 @@ -68,13 +68,7 @@ ` ) -var cache = Cache{ - entries: map[cacheKey]*cacheEntry{}, -} - -func init() { - go cache.background() -} +var cache Cache func (c *Cache) background() { for { @@ -129,6 +123,12 @@ c.Lock() defer c.Unlock() + // Start background cleanup lazily. + if c.entries == nil { + c.entries = map[cacheKey]*cacheEntry{} + go c.background() + } + key := cacheKey{date, bottleneck} entry := c.entries[key]