diff options
author | Elias Naur <elias.naur@gmail.com> | 2017-08-19 16:59:19 +0200 |
---|---|---|
committer | Elias Naur <elias.naur@gmail.com> | 2017-08-29 07:40:19 +0000 |
commit | c3189cee717a47dd7936d9f82904db72b28293f6 (patch) | |
tree | e3fc16aff861b031fec26f74f79ed10ce085ff5a /src/runtime/signal_solaris.go | |
parent | 176cd48e574817bbb912c139396324c187b31279 (diff) | |
download | go-c3189cee717a47dd7936d9f82904db72b28293f6.tar.gz go-c3189cee717a47dd7936d9f82904db72b28293f6.zip |
runtime: forward crashing signals to late handlers
CL 49590 made it possible for external signal handlers to catch
signals from a crashing Go process. This CL extends that support
to handlers registered after the Go runtime has initialized.
Updates #20392 (and possibly fix it).
Change-Id: I18eccd5e958a505f4d1782a7fc51c16bd3a4ff9c
Reviewed-on: https://go-review.googlesource.com/57291
Run-TryBot: Elias Naur <elias.naur@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/runtime/signal_solaris.go')
-rw-r--r-- | src/runtime/signal_solaris.go | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/runtime/signal_solaris.go b/src/runtime/signal_solaris.go index dc1db76406..a8eeeee129 100644 --- a/src/runtime/signal_solaris.go +++ b/src/runtime/signal_solaris.go @@ -23,16 +23,16 @@ var sigtable = [...]sigTabT{ /* 15 */ {_SigNotify + _SigKill, "SIGTERM: software termination signal from kill"}, /* 16 */ {_SigNotify, "SIGUSR1: user defined signal 1"}, /* 17 */ {_SigNotify, "SIGUSR2: user defined signal 2"}, - /* 18 */ {_SigNotify + _SigUnblock, "SIGCHLD: child status change alias (POSIX)"}, + /* 18 */ {_SigNotify + _SigUnblock + _SigIgn, "SIGCHLD: child status change alias (POSIX)"}, /* 19 */ {_SigNotify, "SIGPWR: power-fail restart"}, - /* 20 */ {_SigNotify, "SIGWINCH: window size change"}, - /* 21 */ {_SigNotify, "SIGURG: urgent socket condition"}, + /* 20 */ {_SigNotify + _SigIgn, "SIGWINCH: window size change"}, + /* 21 */ {_SigNotify + _SigIgn, "SIGURG: urgent socket condition"}, /* 22 */ {_SigNotify, "SIGPOLL: pollable event occurred"}, /* 23 */ {0, "SIGSTOP: stop (cannot be caught or ignored)"}, - /* 24 */ {_SigNotify + _SigDefault, "SIGTSTP: user stop requested from tty"}, - /* 25 */ {_SigNotify + _SigDefault, "SIGCONT: stopped process has been continued"}, - /* 26 */ {_SigNotify + _SigDefault, "SIGTTIN: background tty read attempted"}, - /* 27 */ {_SigNotify + _SigDefault, "SIGTTOU: background tty write attempted"}, + /* 24 */ {_SigNotify + _SigDefault + _SigIgn, "SIGTSTP: user stop requested from tty"}, + /* 25 */ {_SigNotify + _SigDefault + _SigIgn, "SIGCONT: stopped process has been continued"}, + /* 26 */ {_SigNotify + _SigDefault + _SigIgn, "SIGTTIN: background tty read attempted"}, + /* 27 */ {_SigNotify + _SigDefault + _SigIgn, "SIGTTOU: background tty write attempted"}, /* 28 */ {_SigNotify, "SIGVTALRM: virtual timer expired"}, /* 29 */ {_SigNotify + _SigUnblock, "SIGPROF: profiling timer expired"}, /* 30 */ {_SigNotify, "SIGXCPU: exceeded cpu limit"}, |