mirror of
https://github.com/ysoftdevs/gardener-extension-shoot-fleet-agent.git
synced 2026-08-28 14:37:25 +02:00
Initial v1.0.0 commit
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
||||
package oncer
|
||||
|
||||
import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
var onces = &sync.Map{}
|
||||
|
||||
func Do(name string, fn func()) {
|
||||
o, _ := onces.LoadOrStore(name, &sync.Once{})
|
||||
if once, ok := o.(*sync.Once); ok {
|
||||
once.Do(log(name, fn))
|
||||
}
|
||||
}
|
||||
|
||||
func Reset(names ...string) {
|
||||
if len(names) == 0 {
|
||||
onces = &sync.Map{}
|
||||
return
|
||||
}
|
||||
|
||||
for _, n := range names {
|
||||
onces.Delete(n)
|
||||
onces.Delete(deprecated + n)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user