diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2023-03-29 21:03:11 -0600 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2023-03-29 22:49:02 -0600 |
commit | c882629607b10487777240d94b9b754c96c9b13f (patch) | |
tree | 1376db772751945e834da39ad8feb0e4a4706527 /lib/containers/lrucache.go | |
parent | 0b092a27122fcf19479d6cdeae5f7c9493d9741a (diff) |
containers: Fix comments
Diffstat (limited to 'lib/containers/lrucache.go')
-rw-r--r-- | lib/containers/lrucache.go | 10 |
1 files changed, 6 insertions, 4 deletions
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{}) |