[chore] update gruf libraries (#996)

* update go-store to v2.0.6: closer callbacks are now only ever called at most once

Signed-off-by: kim <grufwub@gmail.com>

* bump go-store => v2.0.7, go-mutexes => v1.1.4

Signed-off-by: kim <grufwub@gmail.com>

Signed-off-by: kim <grufwub@gmail.com>
This commit is contained in:
kim
2022-11-08 09:35:01 +00:00
committed by GitHub
parent 0d51d5c13b
commit 7c0bbd3f6a
6 changed files with 48 additions and 62 deletions

39
vendor/codeberg.org/gruf/go-mutexes/map_pool.go generated vendored Normal file
View File

@ -0,0 +1,39 @@
package mutexes
// pool is a very simply memory pool.
type pool struct {
current []*rwmutex
victim []*rwmutex
}
// Acquire will returns a rwmutex from pool (or alloc new).
func (p *pool) Acquire() *rwmutex {
// First try the current queue
if l := len(p.current) - 1; l >= 0 {
mu := p.current[l]
p.current = p.current[:l]
return mu
}
// Next try the victim queue.
if l := len(p.victim) - 1; l >= 0 {
mu := p.victim[l]
p.victim = p.victim[:l]
return mu
}
// Lastly, alloc new.
return &rwmutex{}
}
// Release places a sync.RWMutex back in the pool.
func (p *pool) Release(mu *rwmutex) {
p.current = append(p.current, mu)
}
// GC will clear out unused entries from the pool.
func (p *pool) GC() {
current := p.current
p.current = nil
p.victim = current
}