Merge pull request #9384 from rokkiter/fix-ticker-leak

fix ticker leak
This commit is contained in:
Samuel Karp 2023-11-22 05:41:57 +00:00 committed by GitHub
commit 6ed8f01aa1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -117,23 +117,19 @@ func (w *criWorker) runSandbox(tctx, ctx context.Context, id string) (err error)
// verify it is running ? // verify it is running ?
ticker := time.NewTicker(250 * time.Millisecond) ticker := time.NewTicker(250 * time.Millisecond)
quit := make(chan struct{})
go func() { go func() {
for { for {
select { select {
case <-tctx.Done(): case <-tctx.Done():
close(quit) ticker.Stop()
return return
case <-ticker.C: case <-ticker.C:
// do stuff // do stuff
status, err := w.client.PodSandboxStatus(sb) status, err := w.client.PodSandboxStatus(sb)
if err != nil && status.GetState() == runtime.PodSandboxState_SANDBOX_READY { if err != nil && status.GetState() == runtime.PodSandboxState_SANDBOX_READY {
close(quit) ticker.Stop()
return return
} }
case <-quit:
ticker.Stop()
return
} }
} }
}() }()