fix pipe in broken may cause shim lock forever for runtime v1
Signed-off-by: Lifubang <lifubang@acmcoder.com>
This commit is contained in:
parent
b3438f7a6f
commit
e76a8879eb
@ -49,9 +49,11 @@ func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console
|
|||||||
cwg.Add(1)
|
cwg.Add(1)
|
||||||
go func() {
|
go func() {
|
||||||
cwg.Done()
|
cwg.Done()
|
||||||
p := bufPool.Get().(*[]byte)
|
bp := bufPool.Get().(*[]byte)
|
||||||
defer bufPool.Put(p)
|
defer bufPool.Put(bp)
|
||||||
io.CopyBuffer(epollConsole, in, *p)
|
io.CopyBuffer(epollConsole, in, *bp)
|
||||||
|
// we need to shutdown epollConsole when pipe broken
|
||||||
|
epollConsole.Shutdown(p.epoller.CloseConsole)
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,6 +52,7 @@ func (p *linuxPlatform) CopyConsole(ctx context.Context, console console.Console
|
|||||||
bp := bufPool.Get().(*[]byte)
|
bp := bufPool.Get().(*[]byte)
|
||||||
defer bufPool.Put(bp)
|
defer bufPool.Put(bp)
|
||||||
io.CopyBuffer(epollConsole, in, *bp)
|
io.CopyBuffer(epollConsole, in, *bp)
|
||||||
|
// we need to shutdown epollConsole when pipe broken
|
||||||
epollConsole.Shutdown(p.epoller.CloseConsole)
|
epollConsole.Shutdown(p.epoller.CloseConsole)
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user