github.com/hanks177/podman/v4@v4.1.3-0.20220613032544-16d90015bc83/pkg/signal/signal_linux_mipsx.go (about) 1 //go:build linux && (mips || mipsle || mips64 || mips64le) 2 // +build linux 3 // +build mips mipsle mips64 mips64le 4 5 // Special signal handling for mips architecture 6 package signal 7 8 // Copyright 2013-2018 Docker, Inc. 9 10 // NOTE: this package has originally been copied from github.com/docker/docker. 11 12 import ( 13 "os" 14 "os/signal" 15 "syscall" 16 17 "golang.org/x/sys/unix" 18 ) 19 20 const ( 21 sigrtmin = 34 22 sigrtmax = 127 23 24 SIGWINCH = syscall.SIGWINCH 25 ) 26 27 // SignalMap is a map of Linux signals. 28 var SignalMap = map[string]syscall.Signal{ 29 "ABRT": unix.SIGABRT, 30 "ALRM": unix.SIGALRM, 31 "BUS": unix.SIGBUS, 32 "CHLD": unix.SIGCHLD, 33 "CLD": unix.SIGCLD, 34 "CONT": unix.SIGCONT, 35 "FPE": unix.SIGFPE, 36 "HUP": unix.SIGHUP, 37 "ILL": unix.SIGILL, 38 "INT": unix.SIGINT, 39 "IO": unix.SIGIO, 40 "IOT": unix.SIGIOT, 41 "KILL": unix.SIGKILL, 42 "PIPE": unix.SIGPIPE, 43 "POLL": unix.SIGPOLL, 44 "PROF": unix.SIGPROF, 45 "PWR": unix.SIGPWR, 46 "QUIT": unix.SIGQUIT, 47 "SEGV": unix.SIGSEGV, 48 "EMT": unix.SIGEMT, 49 "STOP": unix.SIGSTOP, 50 "SYS": unix.SIGSYS, 51 "TERM": unix.SIGTERM, 52 "TRAP": unix.SIGTRAP, 53 "TSTP": unix.SIGTSTP, 54 "TTIN": unix.SIGTTIN, 55 "TTOU": unix.SIGTTOU, 56 "URG": unix.SIGURG, 57 "USR1": unix.SIGUSR1, 58 "USR2": unix.SIGUSR2, 59 "VTALRM": unix.SIGVTALRM, 60 "WINCH": unix.SIGWINCH, 61 "XCPU": unix.SIGXCPU, 62 "XFSZ": unix.SIGXFSZ, 63 "RTMIN": sigrtmin, 64 "RTMIN+1": sigrtmin + 1, 65 "RTMIN+2": sigrtmin + 2, 66 "RTMIN+3": sigrtmin + 3, 67 "RTMIN+4": sigrtmin + 4, 68 "RTMIN+5": sigrtmin + 5, 69 "RTMIN+6": sigrtmin + 6, 70 "RTMIN+7": sigrtmin + 7, 71 "RTMIN+8": sigrtmin + 8, 72 "RTMIN+9": sigrtmin + 9, 73 "RTMIN+10": sigrtmin + 10, 74 "RTMIN+11": sigrtmin + 11, 75 "RTMIN+12": sigrtmin + 12, 76 "RTMIN+13": sigrtmin + 13, 77 "RTMIN+14": sigrtmin + 14, 78 "RTMIN+15": sigrtmin + 15, 79 "RTMAX-14": sigrtmax - 14, 80 "RTMAX-13": sigrtmax - 13, 81 "RTMAX-12": sigrtmax - 12, 82 "RTMAX-11": sigrtmax - 11, 83 "RTMAX-10": sigrtmax - 10, 84 "RTMAX-9": sigrtmax - 9, 85 "RTMAX-8": sigrtmax - 8, 86 "RTMAX-7": sigrtmax - 7, 87 "RTMAX-6": sigrtmax - 6, 88 "RTMAX-5": sigrtmax - 5, 89 "RTMAX-4": sigrtmax - 4, 90 "RTMAX-3": sigrtmax - 3, 91 "RTMAX-2": sigrtmax - 2, 92 "RTMAX-1": sigrtmax - 1, 93 "RTMAX": sigrtmax, 94 } 95 96 // CatchAll catches all signals and relays them to the specified channel. 97 func CatchAll(sigc chan os.Signal) { 98 handledSigs := make([]os.Signal, 0, len(SignalMap)) 99 for _, s := range SignalMap { 100 handledSigs = append(handledSigs, s) 101 } 102 signal.Notify(sigc, handledSigs...) 103 } 104 105 // StopCatch stops catching the signals and closes the specified channel. 106 func StopCatch(sigc chan os.Signal) { 107 signal.Stop(sigc) 108 close(sigc) 109 }