2 Commits

Author SHA1 Message Date
5f89d83094 with defer 2022-09-21 22:08:27 +02:00
f9109382cb components signal 2022-09-21 21:45:48 +02:00

View File

@@ -33,7 +33,14 @@ func NewManager() *Manager {
type ComponentsAreReady struct { type ComponentsAreReady struct {
} }
func (m *Manager) RunNonBlocking(ctx context.Context) error { func (m *Manager) RunNonBlocking(ctx context.Context, readyChan chan ComponentsAreReady) error {
go func() error {
defer func(ctx context.Context) {
err := m.shutdown(ctx)
if err != nil {
panic(err)
}
}(ctx)
m.initLifetime() m.initLifetime()
err := m.init(ctx) err := m.init(ctx)
if err != nil { if err != nil {
@@ -45,15 +52,15 @@ func (m *Manager) RunNonBlocking(ctx context.Context) error {
return err return err
} }
readyChan <- ComponentsAreReady{}
err = m.wait(ctx) err = m.wait(ctx)
if err != nil { if err != nil {
return err return err
} }
err = m.shutdown(ctx) return nil
if err != nil { }()
return err
}
return nil return nil
} }