1
//go:build linux && !mips && !mipsle && !mips64 && !mips64le
3
// Signal handling for Linux only.
6
// Copyright 2013-2018 Docker, Inc.
8
// NOTE: this package has originally been copied from github.com/docker/docker.
13
"golang.org/x/sys/unix"
20
SIGWINCH = syscall.SIGWINCH // For cross-compilation with Windows
23
// SignalMap is a map of Linux signals.
24
var SignalMap = map[string]syscall.Signal{
44
"STKFLT": unix.SIGSTKFLT,
55
"VTALRM": unix.SIGVTALRM,
56
"WINCH": unix.SIGWINCH,
60
"RTMIN+1": sigrtmin + 1,
61
"RTMIN+2": sigrtmin + 2,
62
"RTMIN+3": sigrtmin + 3,
63
"RTMIN+4": sigrtmin + 4,
64
"RTMIN+5": sigrtmin + 5,
65
"RTMIN+6": sigrtmin + 6,
66
"RTMIN+7": sigrtmin + 7,
67
"RTMIN+8": sigrtmin + 8,
68
"RTMIN+9": sigrtmin + 9,
69
"RTMIN+10": sigrtmin + 10,
70
"RTMIN+11": sigrtmin + 11,
71
"RTMIN+12": sigrtmin + 12,
72
"RTMIN+13": sigrtmin + 13,
73
"RTMIN+14": sigrtmin + 14,
74
"RTMIN+15": sigrtmin + 15,
75
"RTMAX-14": sigrtmax - 14,
76
"RTMAX-13": sigrtmax - 13,
77
"RTMAX-12": sigrtmax - 12,
78
"RTMAX-11": sigrtmax - 11,
79
"RTMAX-10": sigrtmax - 10,
80
"RTMAX-9": sigrtmax - 9,
81
"RTMAX-8": sigrtmax - 8,
82
"RTMAX-7": sigrtmax - 7,
83
"RTMAX-6": sigrtmax - 6,
84
"RTMAX-5": sigrtmax - 5,
85
"RTMAX-4": sigrtmax - 4,
86
"RTMAX-3": sigrtmax - 3,
87
"RTMAX-2": sigrtmax - 2,
88
"RTMAX-1": sigrtmax - 1,
92
// IsSignalIgnoredBySigProxy determines whether sig-proxy should ignore syscall signal
93
func IsSignalIgnoredBySigProxy(s syscall.Signal) bool {
94
// Ignore SIGCHLD and SIGPIPE - these are most likely intended for the podman command itself.
95
// SIGURG was added because of golang 1.14 and its preemptive changes causing more signals to "show up".
96
// https://github.com/containers/podman/issues/5483
97
return s == syscall.SIGCHLD || s == syscall.SIGPIPE || s == syscall.SIGURG