mirror of
https://github.com/golang/go
synced 2024-11-19 14:34:42 -07:00
c2735039f3
Combine the various versions of sigtrampgo into a single function in signal_unix.go. This requires defining a fixsigcode method on sigctxt for all operating systems; it only does something on Darwin. This also requires changing the darwin/amd64 signal handler to call sigreturn itself, rather than relying on sigtrampgo to call sigreturn for it. We can then drop the Darwin sigreturn function, as it is no longer used. Change-Id: I5a0b9d2d2c141957e151b41e694efeb20e4b4b9a Reviewed-on: https://go-review.googlesource.com/29761 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
47 lines
2.1 KiB
Go
47 lines
2.1 KiB
Go
// Copyright 2009 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package runtime
|
|
|
|
type sigTabT struct {
|
|
flags int32
|
|
name string
|
|
}
|
|
|
|
var sigtable = [...]sigTabT{
|
|
/* 0 */ {0, "SIGNONE: no trap"},
|
|
/* 1 */ {_SigNotify + _SigKill, "SIGHUP: terminal line hangup"},
|
|
/* 2 */ {_SigNotify + _SigKill, "SIGINT: interrupt"},
|
|
/* 3 */ {_SigNotify + _SigThrow, "SIGQUIT: quit"},
|
|
/* 4 */ {_SigThrow + _SigUnblock, "SIGILL: illegal instruction"},
|
|
/* 5 */ {_SigThrow + _SigUnblock, "SIGTRAP: trace trap"},
|
|
/* 6 */ {_SigNotify + _SigThrow, "SIGABRT: abort"},
|
|
/* 7 */ {_SigThrow, "SIGEMT: emulate instruction executed"},
|
|
/* 8 */ {_SigPanic + _SigUnblock, "SIGFPE: floating-point exception"},
|
|
/* 9 */ {0, "SIGKILL: kill"},
|
|
/* 10 */ {_SigPanic + _SigUnblock, "SIGBUS: bus error"},
|
|
/* 11 */ {_SigPanic + _SigUnblock, "SIGSEGV: segmentation violation"},
|
|
/* 12 */ {_SigThrow, "SIGSYS: bad system call"},
|
|
/* 13 */ {_SigNotify, "SIGPIPE: write to broken pipe"},
|
|
/* 14 */ {_SigNotify, "SIGALRM: alarm clock"},
|
|
/* 15 */ {_SigNotify + _SigKill, "SIGTERM: termination"},
|
|
/* 16 */ {_SigNotify, "SIGURG: urgent condition on socket"},
|
|
/* 17 */ {0, "SIGSTOP: stop"},
|
|
/* 18 */ {_SigNotify + _SigDefault, "SIGTSTP: keyboard stop"},
|
|
/* 19 */ {_SigNotify + _SigDefault, "SIGCONT: continue after stop"},
|
|
/* 20 */ {_SigNotify + _SigUnblock, "SIGCHLD: child status has changed"},
|
|
/* 21 */ {_SigNotify + _SigDefault, "SIGTTIN: background read from tty"},
|
|
/* 22 */ {_SigNotify + _SigDefault, "SIGTTOU: background write to tty"},
|
|
/* 23 */ {_SigNotify, "SIGIO: i/o now possible"},
|
|
/* 24 */ {_SigNotify, "SIGXCPU: cpu limit exceeded"},
|
|
/* 25 */ {_SigNotify, "SIGXFSZ: file size limit exceeded"},
|
|
/* 26 */ {_SigNotify, "SIGVTALRM: virtual alarm clock"},
|
|
/* 27 */ {_SigNotify + _SigUnblock, "SIGPROF: profiling alarm clock"},
|
|
/* 28 */ {_SigNotify, "SIGWINCH: window size change"},
|
|
/* 29 */ {_SigNotify, "SIGINFO: status request from keyboard"},
|
|
/* 30 */ {_SigNotify, "SIGUSR1: user-defined signal 1"},
|
|
/* 31 */ {_SigNotify, "SIGUSR2: user-defined signal 2"},
|
|
/* 32 */ {_SigNotify, "SIGTHR: reserved"},
|
|
}
|