From c1c74cb0b1e83c4836b51828888daff181f52742 Mon Sep 17 00:00:00 2001 From: Alexander Larsson Date: Tue, 24 Sep 2013 14:57:29 +0200 Subject: [PATCH] Container: Always create a new session for the container We never want the container to be in the same process group as the daemon, as then the container will receive signals sent to the process group of the container. --- container.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/container.go b/container.go index 6bca3dfbf..2616fb221 100644 --- a/container.go +++ b/container.go @@ -393,7 +393,7 @@ func (container *Container) startPty() error { // stdin if container.Config.OpenStdin { container.cmd.Stdin = ptySlave - container.cmd.SysProcAttr = &syscall.SysProcAttr{Setctty: true, Setsid: true} + container.cmd.SysProcAttr.Setctty = true go func() { defer container.stdin.Close() utils.Debugf("[startPty] Begin of stdin pipe") @@ -800,6 +800,8 @@ func (container *Container) Start(hostConfig *HostConfig) error { return err } + container.cmd.SysProcAttr = &syscall.SysProcAttr{Setsid: true} + var err error if container.Config.Tty { err = container.startPty()