From ed07bf42ce7772167e8be77abf8417cd98c8ce86 Mon Sep 17 00:00:00 2001 From: yusing Date: Thu, 29 May 2025 19:22:42 +0800 Subject: [PATCH] fix(routes): accidentally finished all routes when one route changed --- internal/route/provider/provider.go | 2 -- internal/route/route.go | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/internal/route/provider/provider.go b/internal/route/provider/provider.go index e3a6c21..be22c63 100644 --- a/internal/route/provider/provider.go +++ b/internal/route/provider/provider.go @@ -110,8 +110,6 @@ func (p *Provider) Start(parent task.Parent) gperr.Error { t.Subtask("event_queue", false), providerEventFlushInterval, func(events []events.Event) { - routesTask.FinishAndWait("reload routes") - routesTask = t.Subtask("routes", false) handler := p.newEventHandler() // routes' lifetime should follow the provider's lifetime handler.Handle(routesTask, events) diff --git a/internal/route/route.go b/internal/route/route.go index 62c41f5..f09af57 100644 --- a/internal/route/route.go +++ b/internal/route/route.go @@ -227,7 +227,7 @@ func (r *Route) Finish(reason any) { if r.impl == nil { return } - r.impl.Finish(reason) + r.impl.Task().FinishAndWait(reason) r.impl = nil }