tpl/images: Fix embedded sync.Mutex

This commit is contained in:
Cameron Moore 2017-05-02 02:17:14 -05:00 committed by Bjørn Erik Pedersen
parent f69df916df
commit f604076de1
2 changed files with 6 additions and 36 deletions

View file

@ -727,36 +727,6 @@
"imageConfig"
],
"Examples": []
},
{
"Name": "Lock",
"Description": "",
"Aliases": null,
"Examples": null
},
{
"Name": "RLock",
"Description": "",
"Aliases": null,
"Examples": null
},
{
"Name": "RLocker",
"Description": "",
"Aliases": null,
"Examples": null
},
{
"Name": "RUnlock",
"Description": "",
"Aliases": null,
"Examples": null
},
{
"Name": "Unlock",
"Description": "",
"Aliases": null,
"Examples": null
}
]
},

View file

@ -37,8 +37,8 @@ func New(deps *deps.Deps) *Namespace {
// Namespace provides template functions for the "images" namespace.
type Namespace struct {
sync.RWMutex
cache map[string]image.Config
cacheMu sync.RWMutex
cache map[string]image.Config
deps *deps.Deps
}
@ -56,9 +56,9 @@ func (ns *Namespace) Config(path interface{}) (image.Config, error) {
}
// Check cache for image config.
ns.RLock()
ns.cacheMu.RLock()
config, ok := ns.cache[filename]
ns.RUnlock()
ns.cacheMu.RUnlock()
if ok {
return config, nil
@ -71,9 +71,9 @@ func (ns *Namespace) Config(path interface{}) (image.Config, error) {
config, _, err = image.DecodeConfig(f)
ns.Lock()
ns.cacheMu.Lock()
ns.cache[filename] = config
ns.Unlock()
ns.cacheMu.Unlock()
return config, err
}