]> git.maquefel.me Git - brevno-suite/hugo/commitdiff
page: Move the cache double check right after the lock
authorBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 22 Feb 2023 20:24:41 +0000 (21:24 +0100)
committerBjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Wed, 22 Feb 2023 20:24:41 +0000 (21:24 +0100)
resources/page/pages_related.go

index 3378eb160f5d1a275e137d27dbd874748d991f9a..327369603c205236d8014ff0acd52dbbdb0e7a4b 100644 (file)
@@ -198,6 +198,11 @@ func (s *RelatedDocsHandler) getOrCreateIndex(ctx context.Context, p Pages) (*re
        s.mu.Lock()
        defer s.mu.Unlock()
 
+       // Double check.
+       if cachedIndex := s.getIndex(p); cachedIndex != nil {
+               return cachedIndex, nil
+       }
+
        for _, c := range s.cfg.Indices {
                if c.Type == related.TypeFragments {
                        // This will trigger building the Pages' fragment map.
@@ -219,11 +224,6 @@ func (s *RelatedDocsHandler) getOrCreateIndex(ctx context.Context, p Pages) (*re
 
                        break
                }
-
-       }
-
-       if cachedIndex := s.getIndex(p); cachedIndex != nil {
-               return cachedIndex, nil
        }
 
        searchIndex := related.NewInvertedIndex(s.cfg)