backport of commit 7f2d3f2c5c783dfacc7bc3bb86da4008d8b61bd6 (#20860)
Co-authored-by: Anton Averchenkov <84287187+averche@users.noreply.github.com>
This commit is contained in:
parent
4175665640
commit
3a3e931cfd
|
@ -264,7 +264,16 @@ func (s *Server) bounceCmd(newEnvVars []string) error {
|
|||
}
|
||||
s.childProcess = proc
|
||||
|
||||
// listen if the child process exits and bubble it up to the main loop
|
||||
if err := s.childProcess.Start(); err != nil {
|
||||
return fmt.Errorf("error starting the child process: %w", err)
|
||||
}
|
||||
|
||||
s.childProcessState = childProcessStateRunning
|
||||
|
||||
// Listen if the child process exits and bubble it up to the main loop.
|
||||
//
|
||||
// NOTE: this must be invoked after child.Start() to avoid a potential
|
||||
// race condition with ExitCh not being initialized.
|
||||
go func() {
|
||||
ctx, cancel := context.WithCancel(context.Background())
|
||||
s.childProcessExitCodeCloser = cancel
|
||||
|
@ -277,10 +286,5 @@ func (s *Server) bounceCmd(newEnvVars []string) error {
|
|||
}
|
||||
}()
|
||||
|
||||
if err := s.childProcess.Start(); err != nil {
|
||||
return fmt.Errorf("error starting child process: %w", err)
|
||||
}
|
||||
s.childProcessState = childProcessStateRunning
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue