Преглед на файлове

Merge pull request #28854 from coolljt0725/igore_close_stderr_error

Ignore "failed to close stdin" if container or process not found
Sebastiaan van Stijn преди 8 години
родител
ревизия
f9ddac3f3c
променени са 2 файла, в които са добавени 5 реда и са изтрити 1 реда
  1. 1 1
      container/stream/streams.go
  2. 4 0
      libcontainerd/process_unix.go

+ 1 - 1
container/stream/streams.go

@@ -135,7 +135,7 @@ func (c *Config) CopyToPipe(iop libcontainerd.IOPipe) {
 			go func() {
 				pools.Copy(iop.Stdin, stdin)
 				if err := iop.Stdin.Close(); err != nil {
-					logrus.Errorf("failed to close stdin: %+v", err)
+					logrus.Warnf("failed to close stdin: %+v", err)
 				}
 			}()
 		}

+ 4 - 0
libcontainerd/process_unix.go

@@ -8,6 +8,7 @@ import (
 	"os"
 	"path/filepath"
 	goruntime "runtime"
+	"strings"
 	"time"
 
 	containerd "github.com/docker/containerd/api/grpc/types"
@@ -86,6 +87,9 @@ func (p *process) sendCloseStdin() error {
 		Pid:        p.friendlyName,
 		CloseStdin: true,
 	})
+	if err != nil && (strings.Contains(err.Error(), "container not found") || strings.Contains(err.Error(), "process not found")) {
+		return nil
+	}
 	return err
 }