From 81707de23ff6d0b03bd8d5cda87efac7939d9d46 Mon Sep 17 00:00:00 2001 From: Brian Goff Date: Fri, 18 Mar 2016 16:50:18 -0400 Subject: [PATCH] Don't forward SIGPIPE from client to container Signed-off-by: Brian Goff --- api/client/start.go | 2 +- pkg/signal/signal_unix.go | 2 ++ pkg/signal/signal_windows.go | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/api/client/start.go b/api/client/start.go index 69d047f308..1ff2845f55 100644 --- a/api/client/start.go +++ b/api/client/start.go @@ -21,7 +21,7 @@ func (cli *DockerCli) forwardAllSignals(cid string) chan os.Signal { signal.CatchAll(sigc) go func() { for s := range sigc { - if s == signal.SIGCHLD { + if s == signal.SIGCHLD || s == signal.SIGPIPE { continue } var sig string diff --git a/pkg/signal/signal_unix.go b/pkg/signal/signal_unix.go index d4fea931d1..6621d37184 100644 --- a/pkg/signal/signal_unix.go +++ b/pkg/signal/signal_unix.go @@ -14,6 +14,8 @@ const ( SIGCHLD = syscall.SIGCHLD // SIGWINCH is a signal sent to a process when its controlling terminal changes its size SIGWINCH = syscall.SIGWINCH + // SIGPIPE is a signal sent to a process when a pipe is written to before the other end is open for reading + SIGPIPE = syscall.SIGPIPE // DefaultStopSignal is the syscall signal used to stop a container in unix systems. DefaultStopSignal = "SIGTERM" ) diff --git a/pkg/signal/signal_windows.go b/pkg/signal/signal_windows.go index c80a951c50..698cbf2dc8 100644 --- a/pkg/signal/signal_windows.go +++ b/pkg/signal/signal_windows.go @@ -11,6 +11,7 @@ import ( const ( SIGCHLD = syscall.Signal(0xff) SIGWINCH = syscall.Signal(0xff) + SIGPIPE = syscall.Signal(0xff) // DefaultStopSignal is the syscall signal used to stop a container in windows systems. DefaultStopSignal = "15" )