diff --git a/lib/gat/handlers/pool/spool/kitchen/chef.go b/lib/gat/handlers/pool/spool/kitchen/chef.go index ca0af0aed22de8dfd32e658a0fe3d461e87fb7bf..60c70acad6a4bc746d1fa4b808144cb88c3b40fa 100644 --- a/lib/gat/handlers/pool/spool/kitchen/chef.go +++ b/lib/gat/handlers/pool/spool/kitchen/chef.go @@ -275,6 +275,7 @@ func (T *Chef) Burn(conn *fed.Conn) { if !ok { return } + r.recipe.Free() _ = conn.Close() delete(T.byConn, conn) @@ -318,8 +319,11 @@ func (T *Chef) Close() { maps.Clear(T.byName) T.order = T.order[:0] - for conn := range T.byConn { + for conn, r := range T.byConn { + r.recipe.Free() _ = conn.Close() + delete(T.byConn, conn) + delete(r.conns, conn) } }