mirror of https://github.com/minio/minio.git
Fix a potential race between ExpireObjects() and Set() over items map
This commit is contained in:
parent
3fc9b4554f
commit
193a6606db
|
@ -89,13 +89,14 @@ func (r *Intelligent) ExpireObjects(gcInterval time.Duration) {
|
||||||
r.gcInterval = gcInterval
|
r.gcInterval = gcInterval
|
||||||
go func() {
|
go func() {
|
||||||
for range time.Tick(gcInterval) {
|
for range time.Tick(gcInterval) {
|
||||||
for key := range r.items {
|
|
||||||
r.Lock()
|
r.Lock()
|
||||||
|
for key := range r.items {
|
||||||
|
|
||||||
if !r.isValid(key) {
|
if !r.isValid(key) {
|
||||||
r.Delete(key)
|
r.Delete(key)
|
||||||
}
|
}
|
||||||
r.Unlock()
|
|
||||||
}
|
}
|
||||||
|
r.Unlock()
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue