This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
dagger/plancontext/tempdir.go

35 lines
465 B
Go
Raw Permalink Normal View History

package plancontext
import (
"os"
"sync"
)
type tempDirContext struct {
l sync.RWMutex
store map[string]string
}
func (c *tempDirContext) Add(dir, key string) {
c.l.Lock()
defer c.l.Unlock()
c.store[key] = dir
}
func (c *tempDirContext) Get(key string) string {
c.l.RLock()
defer c.l.RUnlock()
return c.store[key]
}
func (c *tempDirContext) Clean() {
c.l.RLock()
defer c.l.RUnlock()
for _, s := range c.store {
defer os.RemoveAll(s)
}
}