From c882629607b10487777240d94b9b754c96c9b13f Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Wed, 29 Mar 2023 21:03:11 -0600 Subject: containers: Fix comments --- lib/containers/lrucache.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lib/containers/lrucache.go') diff --git a/lib/containers/lrucache.go b/lib/containers/lrucache.go index d2aff41..2ea1989 100644 --- a/lib/containers/lrucache.go +++ b/lib/containers/lrucache.go @@ -60,12 +60,14 @@ type lruCache[K comparable, V any] struct { // Blocking primitives ///////////////////////////////////////////////////////// -// Because of pinning, there might not actually be an available entry -// for us to use/evict. If we need an entry to use or evict, we'll -// call waitForAvail to block until there is en entry that is either -// unused or evictable. We'll give waiters FIFO priority. +// waitForAvail is called before storing something into the cache. +// This is nescessary because if the cache is full and all entries are +// pinned, then we won't have to store the entry until something gets +// unpinned ("Release()d"). func (c *lruCache[K, V]) waitForAvail() { if !(c.unused.IsEmpty() && c.evictable.IsEmpty()) { + // There is already an available `lruEntry` that we + // can either use or evict. return } ch := make(chan struct{}) -- cgit v1.2.3-2-g168b