From e87434eaf9c6c4dfd1802bb625bbcb0b02fd851d Mon Sep 17 00:00:00 2001 From: qydysky Date: Sat, 18 Nov 2023 13:38:47 +0800 Subject: [PATCH] 1 --- component/Component.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/component/Component.go b/component/Component.go index 7eca9db..a50e751 100644 --- a/component/Component.go +++ b/component/Component.go @@ -135,6 +135,7 @@ func (t *Components[T]) Start(ctx context.Context, ptr T, concurrency ...int) er for i := 0; i < len(t.comps); i++ { if t.comps[i].del.Load() || t.comps[i].deal == nil { wg.Done() + err <- nil continue } if con != nil { @@ -155,5 +156,16 @@ func (t *Components[T]) Start(ctx context.Context, ptr T, concurrency ...int) er wg.Wait() - return nil + for { + select { + case e := <-err: + if errors.Is(e, ErrSelfDel) { + needDel = true + } else if e != nil { + return e + } + default: + return nil + } + } } -- 2.39.2