Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitb4aa643

Browse files
authored
fix(agent/agentcontainers): ensure proper channel closure for updateTrigger (#18631)
1 parent6d305df commitb4aa643

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

‎agent/agentcontainers/api.go

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,12 +421,17 @@ func (api *API) updaterLoop() {
421421
// advancing the clock.
422422
ticker:=api.clock.TickerFunc(api.ctx,api.updateInterval,func()error {
423423
done:=make(chanerror,1)
424-
deferclose(done)
425-
424+
varsentbool
425+
deferfunc() {
426+
if!sent {
427+
close(done)
428+
}
429+
}()
426430
select {
427431
case<-api.ctx.Done():
428432
returnapi.ctx.Err()
429433
caseapi.updateTrigger<-done:
434+
sent=true
430435
err:=<-done
431436
iferr!=nil {
432437
iferrors.Is(err,context.Canceled) {
@@ -455,6 +460,7 @@ func (api *API) updaterLoop() {
455460
// Note that although we pass api.ctx here, updateContainers
456461
// has an internal timeout to prevent long blocking calls.
457462
done<-api.updateContainers(api.ctx)
463+
close(done)
458464
}
459465
}
460466
}
@@ -798,12 +804,19 @@ func (api *API) RefreshContainers(ctx context.Context) (err error) {
798804
}()
799805

800806
done:=make(chanerror,1)
807+
varsentbool
808+
deferfunc() {
809+
if!sent {
810+
close(done)
811+
}
812+
}()
801813
select {
802814
case<-api.ctx.Done():
803815
returnxerrors.Errorf("API closed: %w",api.ctx.Err())
804816
case<-ctx.Done():
805817
returnctx.Err()
806818
caseapi.updateTrigger<-done:
819+
sent=true
807820
select {
808821
case<-api.ctx.Done():
809822
returnxerrors.Errorf("API closed: %w",api.ctx.Err())

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp