瀏覽代碼

Close stdout/stderr fifo as soon as possible

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
Tonis Tiigi 8 年之前
父節點
當前提交
5a6184a535
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      container/stream/streams.go

+ 2 - 1
container/stream/streams.go

@@ -113,12 +113,13 @@ func (c *Config) CloseStreams() error {
 
 
 // CopyToPipe connects streamconfig with a libcontainerd.IOPipe
 // CopyToPipe connects streamconfig with a libcontainerd.IOPipe
 func (c *Config) CopyToPipe(iop libcontainerd.IOPipe) {
 func (c *Config) CopyToPipe(iop libcontainerd.IOPipe) {
-	copyFunc := func(w io.Writer, r io.Reader) {
+	copyFunc := func(w io.Writer, r io.ReadCloser) {
 		c.Add(1)
 		c.Add(1)
 		go func() {
 		go func() {
 			if _, err := pools.Copy(w, r); err != nil {
 			if _, err := pools.Copy(w, r); err != nil {
 				logrus.Errorf("stream copy error: %+v", err)
 				logrus.Errorf("stream copy error: %+v", err)
 			}
 			}
+			r.Close()
 			c.Done()
 			c.Done()
 		}()
 		}()
 	}
 	}