From 75b3c49b5c73067984b75241d43d3344e4323057 Mon Sep 17 00:00:00 2001 From: osxtest <38131934+osxtest@users.noreply.github.com> Date: Sat, 31 Aug 2024 22:40:24 +0800 Subject: [PATCH] Fix onetimepool goroutine leak --- conn/connpool/onetimepool.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/conn/connpool/onetimepool.go b/conn/connpool/onetimepool.go index 0a9203f..b963b0a 100644 --- a/conn/connpool/onetimepool.go +++ b/conn/connpool/onetimepool.go @@ -75,7 +75,11 @@ func (p *OneTimePool) Run() error { } if err == nil { p.InFlightConns.Add(conn) - p.idleConnections <- conn + select { + case <-p.ctx.Done(): + return p.ctx.Err() + case p.idleConnections <- conn: + } } } }