in pkg/store/simple_store.go [163:181]
func (s *simpleStore) Cleanup() {
// ensure that Cleanup is an atomic operation
s.mutex.Lock()
defer s.mutex.Unlock()
// iterate all keys in our map, and only delete unprotected
var unreferencedItems []storeItem
for _, item := range s.storeItems {
if item.refCount < 1 {
unreferencedItems = append(unreferencedItems, item)
}
}
// now, delete the unprotected items
for _, item := range unreferencedItems {
s.fileSystem.RemoveAll(item.pathToItem)
delete(s.storeItems, item.key)
}
}