Skip to content

Commit 61ac792

Browse files
authored
Shutdown correctly if the extension is short lived (#120)
1 parent e3cde12 commit 61ac792

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

server.go

+5-3
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,10 @@ func (s *ExtensionManagerServer) Start() error {
196196
err := func() error {
197197
s.mutex.Lock()
198198
defer s.mutex.Unlock()
199+
// check after the lock the serverClient is present. It could have gone away on very short restart loops
200+
if s.serverClient == nil {
201+
return errors.New("cannot start, shutdown in progress")
202+
}
199203
registry := s.genRegistry()
200204

201205
stat, err := s.serverClient.RegisterExtension(
@@ -278,9 +282,7 @@ func (s *ExtensionManagerServer) Run() error {
278282
}()
279283

280284
err := <-errc
281-
if err := s.Shutdown(context.Background()); err != nil {
282-
return err
283-
}
285+
_ = s.Shutdown(context.Background())
284286
return err
285287
}
286288

0 commit comments

Comments
 (0)