diff --git a/pkg/signal/signal_linux.go b/pkg/signal/signal_linux.go index 0df442b93f..b0f3824979 100644 --- a/pkg/signal/signal_linux.go +++ b/pkg/signal/signal_linux.go @@ -94,5 +94,11 @@ func isSignalIgnoredBySigProxy(s syscall.Signal) bool { // Ignore SIGCHLD and SIGPIPE - these are most likely intended for the podman command itself. // SIGURG was added because of golang 1.14 and its preemptive changes causing more signals to "show up". // https://github.com/containers/podman/issues/5483 - return s == syscall.SIGCHLD || s == syscall.SIGPIPE || s == syscall.SIGURG + // SIGSTOP cannot be ignored/forwarded by userspace. + switch s { + case syscall.SIGCHLD, syscall.SIGPIPE, syscall.SIGURG, syscall.SIGSTOP: + return true + default: + return false + } } diff --git a/pkg/signal/signal_linux_mipsx.go b/pkg/signal/signal_linux_mipsx.go index 852bdf3b39..77492d57d0 100644 --- a/pkg/signal/signal_linux_mipsx.go +++ b/pkg/signal/signal_linux_mipsx.go @@ -94,5 +94,11 @@ func isSignalIgnoredBySigProxy(s syscall.Signal) bool { // Ignore SIGCHLD and SIGPIPE - these are most likely intended for the podman command itself. // SIGURG was added because of golang 1.14 and its preemptive changes causing more signals to "show up". // https://github.com/containers/podman/issues/5483 - return s == syscall.SIGCHLD || s == syscall.SIGPIPE || s == syscall.SIGURG + // SIGSTOP cannot be ignored/forwarded by userspace. + switch s { + case syscall.SIGCHLD, syscall.SIGPIPE, syscall.SIGURG, syscall.SIGSTOP: + return true + default: + return false + } } diff --git a/pkg/signal/signal_unix.go b/pkg/signal/signal_unix.go index d5d22268ab..88b0a55c04 100644 --- a/pkg/signal/signal_unix.go +++ b/pkg/signal/signal_unix.go @@ -92,5 +92,11 @@ func isSignalIgnoredBySigProxy(s syscall.Signal) bool { // Ignore SIGCHLD and SIGPIPE - these are most likely intended for the podman command itself. // SIGURG was added because of golang 1.14 and its preemptive changes causing more signals to "show up". // https://github.com/containers/podman/issues/5483 - return s == syscall.SIGCHLD || s == syscall.SIGPIPE || s == syscall.SIGURG + // SIGSTOP cannot be ignored/forwarded by userspace. + switch s { + case syscall.SIGCHLD, syscall.SIGPIPE, syscall.SIGURG, syscall.SIGSTOP: + return true + default: + return false + } }