File tree Expand file tree Collapse file tree 1 file changed +11
-13
lines changed Expand file tree Collapse file tree 1 file changed +11
-13
lines changed Original file line number Diff line number Diff line change 44 "context"
55 "time"
66
7+ "golang.org/x/sync/errgroup"
8+
79 "github.com/ydb-platform/ydb-go-sdk/v3/internal/pool/stats"
810 "github.com/ydb-platform/ydb-go-sdk/v3/internal/stack"
911 "github.com/ydb-platform/ydb-go-sdk/v3/internal/xcontext"
@@ -465,20 +467,16 @@ func (p *Pool[PT, T]) Close(ctx context.Context) (finalErr error) {
465467 p .mu .Lock ()
466468 defer p .mu .Unlock ()
467469
468- errs := make ([]error , 0 , len (p .index ))
469-
470+ var g errgroup.Group
470471 for item := range p .index {
471- if err := item .Close (ctx ); err != nil {
472- errs = append (errs , err )
473- }
472+ item := item
473+ g .Go (func () error {
474+ return item .Close (ctx )
475+ })
474476 }
475-
476- switch len (errs ) {
477- case 0 :
478- return nil
479- case 1 :
480- return errs [0 ]
481- default :
482- return xerrors .Join (errs ... )
477+ if err := g .Wait (); err != nil {
478+ return xerrors .WithStackTrace (err )
483479 }
480+
481+ return nil
484482}
You can’t perform that action at this time.
0 commit comments