diff --git a/pkg/adaptation/adaptation.go b/pkg/adaptation/adaptation.go index 9201e641..82dddd63 100644 --- a/pkg/adaptation/adaptation.go +++ b/pkg/adaptation/adaptation.go @@ -369,12 +369,22 @@ func (r *Adaptation) stopPlugins() { } func (r *Adaptation) removeClosedPlugins() { - active := []*plugin{} + var active, closed []*plugin for _, p := range r.plugins { - if !p.isClosed() { + if p.isClosed() { + closed = append(closed, p) + } else { active = append(active, p) } } + + if len(closed) != 0 { + go func() { + for _, plugin := range closed { + plugin.stop() + } + }() + } r.plugins = active }