(s *FileStore, zoneId string, name string, fn func(*CacheEntry) error)
| 126 | } |
| 127 | |
| 128 | func withLock(s *FileStore, zoneId string, name string, fn func(*CacheEntry) error) error { |
| 129 | entry := s.getEntryAndPin(zoneId, name) |
| 130 | defer s.unpinEntryAndTryDelete(zoneId, name) |
| 131 | entry.Lock.Lock() |
| 132 | defer entry.Lock.Unlock() |
| 133 | return fn(entry) |
| 134 | } |
| 135 | |
| 136 | func withLockRtn[T any](s *FileStore, zoneId string, name string, fn func(*CacheEntry) (T, error)) (T, error) { |
| 137 | var rtnVal T |