Browse code

Close stdout/stderr fifo as soon as possible

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>

Tonis Tiigi authored on 2017/01/12 15:10:50
Showing 1 changed files
... ...
@@ -113,12 +113,13 @@ func (c *Config) CloseStreams() error {
113 113
 
114 114
 // CopyToPipe connects streamconfig with a libcontainerd.IOPipe
115 115
 func (c *Config) CopyToPipe(iop libcontainerd.IOPipe) {
116
-	copyFunc := func(w io.Writer, r io.Reader) {
116
+	copyFunc := func(w io.Writer, r io.ReadCloser) {
117 117
 		c.Add(1)
118 118
 		go func() {
119 119
 			if _, err := pools.Copy(w, r); err != nil {
120 120
 				logrus.Errorf("stream copy error: %+v", err)
121 121
 			}
122
+			r.Close()
122 123
 			c.Done()
123 124
 		}()
124 125
 	}