Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 0a5e554

Browse files
authored
fix: time.NewTicker leaks (coder#4630)
1 parent 5d7d8c3 commit 0a5e554

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

agent/apphealth.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@ func NewWorkspaceAppHealthReporter(logger slog.Logger, workspaceAgentApps Worksp
6060
continue
6161
}
6262
app := nextApp
63-
t := time.NewTicker(time.Duration(app.Healthcheck.Interval) * time.Second)
6463
go func() {
64+
t := time.NewTicker(time.Duration(app.Healthcheck.Interval) * time.Second)
65+
defer t.Stop()
66+
6567
for {
6668
select {
6769
case <-ctx.Done():
@@ -118,6 +120,7 @@ func NewWorkspaceAppHealthReporter(logger slog.Logger, workspaceAgentApps Worksp
118120
lastHealth := copyHealth(health)
119121
mu.Unlock()
120122
reportTicker := time.NewTicker(time.Second)
123+
defer reportTicker.Stop()
121124
// every second we check if the health values of the apps have changed
122125
// and if there is a change we will report the new values.
123126
for {

enterprise/derpmesh/derpmesh_test.go

+3
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ func TestDERPMesh(t *testing.T) {
7474
go func() {
7575
defer close(closed)
7676
ticker := time.NewTicker(50 * time.Millisecond)
77+
defer ticker.Stop()
7778
for {
7879
select {
7980
case <-ctx.Done():
@@ -118,6 +119,7 @@ func TestDERPMesh(t *testing.T) {
118119
go func() {
119120
defer close(closed)
120121
ticker := time.NewTicker(50 * time.Millisecond)
122+
defer ticker.Stop()
121123
for {
122124
select {
123125
case <-ctx.Done():
@@ -169,6 +171,7 @@ func TestDERPMesh(t *testing.T) {
169171
go func() {
170172
defer close(closed)
171173
ticker := time.NewTicker(50 * time.Millisecond)
174+
defer ticker.Stop()
172175
for {
173176
select {
174177
case <-ctx.Done():

0 commit comments

Comments
 (0)