Merge pull request #5474 from giuseppe/detect-containers-rootlessport-child-exit

rootlessport: detect rootless-child exit
This commit is contained in:
OpenShift Merge Robot 2020-03-12 10:22:34 -04:00 committed by GitHub
commit 9c7481dbd1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 0 deletions

View File

@ -160,6 +160,13 @@ func parent() error {
return err
}
childErrCh := make(chan error)
go func() {
err := cmd.Wait()
childErrCh <- err
close(childErrCh)
}()
defer func() {
if err := syscall.Kill(cmd.Process.Pid, syscall.SIGTERM); err != nil {
logrus.WithError(err).Warn("kill child process")
@ -174,6 +181,10 @@ outer:
case <-initComplete:
logrus.Infof("initComplete is closed; parent and child established the communication channel")
break outer
case err := <-childErrCh:
if err != nil {
return err
}
case err := <-errCh:
if err != nil {
return err