fixed preload finish deadlock
This commit is contained in:
parent
caf12d9ca5
commit
cd0b0254c7
1 changed files with 4 additions and 4 deletions
|
|
@ -34,10 +34,10 @@ func (q *queue) Add(ph *PreloadHandler, name string, prio int) {
|
|||
q.Sort()
|
||||
}
|
||||
|
||||
func (q *queue) Remove(name string) {
|
||||
func (q *queue) Remove(name string, collect bool) {
|
||||
for i, p := range *q {
|
||||
if p.Name == name {
|
||||
p.stop(true)
|
||||
p.stop(collect)
|
||||
*q = slices.Delete(*q, i, i+1)
|
||||
q.Sort()
|
||||
return
|
||||
|
|
@ -100,7 +100,7 @@ func NewPreloadHandler(ctx context.Context, fs *FS, max int, log logr.Logger) (p
|
|||
func (ph *PreloadHandler) RemovePreload(name string) {
|
||||
ph.mu.RLock()
|
||||
defer ph.mu.RUnlock()
|
||||
ph.q.Remove(name)
|
||||
ph.q.Remove(name, true)
|
||||
ph.schedule()
|
||||
}
|
||||
|
||||
|
|
@ -184,7 +184,7 @@ func (ph *PreloadHandler) preloadStatus(ctx context.Context) {
|
|||
return
|
||||
case name := <-ph.fin:
|
||||
ph.mu.Lock()
|
||||
ph.q.Remove(name)
|
||||
ph.q.Remove(name, false)
|
||||
ph.schedule()
|
||||
ph.mu.Unlock()
|
||||
case name := <-ph.err:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue