mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
b7ebf32ba3
Do not handle SIGURG on Linux, as in go1.14+, the go runtime issues SIGURG as an interrupt to support preemptable system calls on Linux. This issue was caught in TestCatchAll, which could fail when updating to Go 1.14 or above; === Failed === FAIL: pkg/signal TestCatchAll (0.01s) signal_linux_test.go:32: assertion failed: urgent I/O condition (string) != continued (string) signal_linux_test.go:32: assertion failed: continued (string) != hangup (string) signal_linux_test.go:32: assertion failed: hangup (string) != child exited (string) signal_linux_test.go:32: assertion failed: child exited (string) != illegal instruction (string) signal_linux_test.go:32: assertion failed: illegal instruction (string) != floating point exception (string) Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
31 lines
924 B
Go
31 lines
924 B
Go
package signal // import "github.com/docker/docker/pkg/signal"
|
|
|
|
import (
|
|
"os"
|
|
"syscall"
|
|
)
|
|
|
|
// Signals used in cli/command (no windows equivalent, use
|
|
// invalid signals so they don't get handled)
|
|
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"
|
|
)
|
|
|
|
// SignalMap is a map of "supported" signals. As per the comment in GOLang's
|
|
// ztypes_windows.go: "More invented values for signals". Windows doesn't
|
|
// really support signals in any way, shape or form that Unix does.
|
|
//
|
|
// We have these so that docker kill can be used to gracefully (TERM) and
|
|
// forcibly (KILL) terminate a container on Windows.
|
|
var SignalMap = map[string]syscall.Signal{
|
|
"KILL": syscall.SIGKILL,
|
|
"TERM": syscall.SIGTERM,
|
|
}
|
|
|
|
func isRuntimeSig(_ os.Signal) bool {
|
|
return false
|
|
}
|