MCPcopy
hub / github.com/wavetermdev/waveterm / CacheEnsureDir

Function CacheEnsureDir

pkg/wavebase/wavebase.go:253–268  ·  view source on GitHub ↗
(dirName string, cacheKey string, perm os.FileMode, dirDesc string)

Source from the content-addressed store, hash-verified

251}
252
253func CacheEnsureDir(dirName string, cacheKey string, perm os.FileMode, dirDesc string) error {
254 baseLock.Lock()
255 ok := ensureDirCache[cacheKey]
256 baseLock.Unlock()
257 if ok {
258 return nil
259 }
260 err := TryMkdirs(dirName, perm, dirDesc)
261 if err != nil {
262 return err
263 }
264 baseLock.Lock()
265 ensureDirCache[cacheKey] = true
266 baseLock.Unlock()
267 return nil
268}
269
270func TryMkdirs(dirName string, perm os.FileMode, dirDesc string) error {
271 info, err := os.Stat(dirName)

Callers 7

InitRcFilesFunction · 0.92
EnsureWaveDataDirFunction · 0.85
EnsureWaveDBDirFunction · 0.85
EnsureWaveConfigDirFunction · 0.85
EnsureWavePresetsDirFunction · 0.85
EnsureWaveCachesDirFunction · 0.85

Calls 1

TryMkdirsFunction · 0.85

Tested by

no test coverage detected