From 0e062a78ae96b57f9270064f8f4c1e6741993f35 Mon Sep 17 00:00:00 2001 From: Kir Kolyshkin Date: Mon, 16 Mar 2020 19:58:46 -0700 Subject: [PATCH] Remove signalmap, use unix.SignalNum Since [1], x/sys/unix has a function to convert signal name to a number. Let's use it and drop home-grown signal map. While at it, add a test case. [1] https://github.com/golang/sys/commit/d455e41777fca6e8a5a79e34a14b8368bc11d9ba Signed-off-by: Kir Kolyshkin --- kill.go | 9 +++++++-- signalmap.go | 47 ---------------------------------------------- signalmap_mipsx.go | 45 -------------------------------------------- 3 files changed, 7 insertions(+), 94 deletions(-) delete mode 100644 signalmap.go delete mode 100644 signalmap_mipsx.go diff --git a/kill.go b/kill.go index c2d792969..25350f9fc 100644 --- a/kill.go +++ b/kill.go @@ -9,6 +9,7 @@ import ( "syscall" "github.com/urfave/cli" + "golang.org/x/sys/unix" ) var killCommand = cli.Command{ @@ -60,8 +61,12 @@ func parseSignal(rawSignal string) (syscall.Signal, error) { if err == nil { return syscall.Signal(s), nil } - signal, ok := signalMap[strings.TrimPrefix(strings.ToUpper(rawSignal), "SIG")] - if !ok { + sig := strings.ToUpper(rawSignal) + if !strings.HasPrefix(sig, "SIG") { + sig = "SIG" + sig + } + signal := unix.SignalNum(sig) + if signal == 0 { return -1, fmt.Errorf("unknown signal %q", rawSignal) } return signal, nil diff --git a/signalmap.go b/signalmap.go deleted file mode 100644 index f9a634773..000000000 --- a/signalmap.go +++ /dev/null @@ -1,47 +0,0 @@ -// +build linux -// +build !mips,!mipsle,!mips64,!mips64le - -package main - -import ( - "syscall" - - "golang.org/x/sys/unix" -) - -var signalMap = map[string]syscall.Signal{ - "ABRT": unix.SIGABRT, - "ALRM": unix.SIGALRM, - "BUS": unix.SIGBUS, - "CHLD": unix.SIGCHLD, - "CLD": unix.SIGCLD, - "CONT": unix.SIGCONT, - "FPE": unix.SIGFPE, - "HUP": unix.SIGHUP, - "ILL": unix.SIGILL, - "INT": unix.SIGINT, - "IO": unix.SIGIO, - "IOT": unix.SIGIOT, - "KILL": unix.SIGKILL, - "PIPE": unix.SIGPIPE, - "POLL": unix.SIGPOLL, - "PROF": unix.SIGPROF, - "PWR": unix.SIGPWR, - "QUIT": unix.SIGQUIT, - "SEGV": unix.SIGSEGV, - "STKFLT": unix.SIGSTKFLT, - "STOP": unix.SIGSTOP, - "SYS": unix.SIGSYS, - "TERM": unix.SIGTERM, - "TRAP": unix.SIGTRAP, - "TSTP": unix.SIGTSTP, - "TTIN": unix.SIGTTIN, - "TTOU": unix.SIGTTOU, - "URG": unix.SIGURG, - "USR1": unix.SIGUSR1, - "USR2": unix.SIGUSR2, - "VTALRM": unix.SIGVTALRM, - "WINCH": unix.SIGWINCH, - "XCPU": unix.SIGXCPU, - "XFSZ": unix.SIGXFSZ, -} diff --git a/signalmap_mipsx.go b/signalmap_mipsx.go deleted file mode 100644 index 046bf1529..000000000 --- a/signalmap_mipsx.go +++ /dev/null @@ -1,45 +0,0 @@ -// +build linux,mips linux,mipsle linux,mips64 linux,mips64le - -package main - -import ( - "syscall" - - "golang.org/x/sys/unix" -) - -var signalMap = map[string]syscall.Signal{ - "ABRT": unix.SIGABRT, - "ALRM": unix.SIGALRM, - "BUS": unix.SIGBUS, - "CHLD": unix.SIGCHLD, - "CLD": unix.SIGCLD, - "CONT": unix.SIGCONT, - "FPE": unix.SIGFPE, - "HUP": unix.SIGHUP, - "ILL": unix.SIGILL, - "INT": unix.SIGINT, - "IO": unix.SIGIO, - "IOT": unix.SIGIOT, - "KILL": unix.SIGKILL, - "PIPE": unix.SIGPIPE, - "POLL": unix.SIGPOLL, - "PROF": unix.SIGPROF, - "PWR": unix.SIGPWR, - "QUIT": unix.SIGQUIT, - "SEGV": unix.SIGSEGV, - "STOP": unix.SIGSTOP, - "SYS": unix.SIGSYS, - "TERM": unix.SIGTERM, - "TRAP": unix.SIGTRAP, - "TSTP": unix.SIGTSTP, - "TTIN": unix.SIGTTIN, - "TTOU": unix.SIGTTOU, - "URG": unix.SIGURG, - "USR1": unix.SIGUSR1, - "USR2": unix.SIGUSR2, - "VTALRM": unix.SIGVTALRM, - "WINCH": unix.SIGWINCH, - "XCPU": unix.SIGXCPU, - "XFSZ": unix.SIGXFSZ, -}