Merge pull request #3266 from darfux/fix_shim_log_fd_leak

Fix fd leak of shim log
This commit is contained in:
Michael Crosby 2019-05-09 10:30:53 -04:00 committed by GitHub
commit 0485499d1c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 4 additions and 4 deletions

View File

@ -330,7 +330,7 @@ func TestShimDoesNotLeakPipes(t *testing.T) {
} }
func numPipes(pid int) (int, error) { func numPipes(pid int) (int, error) {
cmd := exec.Command("sh", "-c", fmt.Sprintf("lsof -p %d | grep pipe", pid)) cmd := exec.Command("sh", "-c", fmt.Sprintf("lsof -p %d | grep FIFO", pid))
var stdout bytes.Buffer var stdout bytes.Buffer
cmd.Stdout = &stdout cmd.Stdout = &stdout

View File

@ -98,9 +98,9 @@ func WithStart(binary, address, daemonAddress, cgroup string, debug bool, exitHa
cmd.Wait() cmd.Wait()
exitHandler() exitHandler()
if stdoutLog != nil { if stdoutLog != nil {
stderrLog.Close() stdoutLog.Close()
} }
if stdoutLog != nil { if stderrLog != nil {
stderrLog.Close() stderrLog.Close()
} }
}() }()

View File

@ -28,5 +28,5 @@ import (
) )
func openShimLog(ctx context.Context, bundle *Bundle) (io.ReadCloser, error) { func openShimLog(ctx context.Context, bundle *Bundle) (io.ReadCloser, error) {
return fifo.OpenFifo(ctx, filepath.Join(bundle.Path, "log"), unix.O_RDWR|unix.O_CREAT, 0700) return fifo.OpenFifo(ctx, filepath.Join(bundle.Path, "log"), unix.O_RDONLY|unix.O_CREAT|unix.O_NONBLOCK, 0700)
} }