mirror of
https://github.com/gohugoio/hugo.git
synced 2025-08-11 20:03:58 +02:00
9
cache/dynacache/dynacache.go
vendored
9
cache/dynacache/dynacache.go
vendored
@@ -119,7 +119,8 @@ func (o OptionsPartition) CalculateMaxSize(maxSizePerPartition int) int {
|
|||||||
|
|
||||||
// A dynamic partitioned cache.
|
// A dynamic partitioned cache.
|
||||||
type Cache struct {
|
type Cache struct {
|
||||||
mu sync.RWMutex
|
mu sync.RWMutex
|
||||||
|
resizeMu sync.Mutex
|
||||||
|
|
||||||
partitions map[string]PartitionManager
|
partitions map[string]PartitionManager
|
||||||
|
|
||||||
@@ -231,6 +232,12 @@ func (c *Cache) Stop() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (c *Cache) adjustCurrentMaxSize() {
|
func (c *Cache) adjustCurrentMaxSize() {
|
||||||
|
if !c.resizeMu.TryLock() {
|
||||||
|
// Prevent multiple concurrent resizes.
|
||||||
|
return
|
||||||
|
}
|
||||||
|
defer c.resizeMu.Unlock()
|
||||||
|
|
||||||
c.mu.RLock()
|
c.mu.RLock()
|
||||||
defer c.mu.RUnlock()
|
defer c.mu.RUnlock()
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user