aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Hudson-Doyle <michael.hudson@canonical.com>2015-11-13 08:55:44 +1300
committerAustin Clements <austin@google.com>2015-11-17 02:24:56 +0000
commit20a053611b2ac6cdd760fd3d391e4f7ae2d72a77 (patch)
treee531ce3d54b81bb5b854dd33c72d4e3b1ef2f865
parenta8e839bb55bdba131d5c2f72d6bb49130fac55e3 (diff)
downloadgo-20a053611b2ac6cdd760fd3d391e4f7ae2d72a77.tar.gz
go-20a053611b2ac6cdd760fd3d391e4f7ae2d72a77.zip
[release-branch.go1.5] runtime: ignore rt_sigaction error if it is for SIGRTMAX
A forward port of https://codereview.appspot.com/124900043/ which somehow got lost somewhere. Fixes #13024 Change-Id: Iab128899e65c51d90f6704e3e1b2fc9326e3a1c2 Reviewed-on: https://go-review.googlesource.com/16853 Reviewed-by: Russ Cox <rsc@golang.org> Reviewed-on: https://go-review.googlesource.com/16986 Run-TryBot: Austin Clements <austin@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
-rw-r--r--src/runtime/os1_linux.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/runtime/os1_linux.go b/src/runtime/os1_linux.go
index c23dc30bc1..1cad8f776a 100644
--- a/src/runtime/os1_linux.go
+++ b/src/runtime/os1_linux.go
@@ -293,7 +293,8 @@ func setsig(i int32, fn uintptr, restart bool) {
fn = funcPC(sigtramp)
}
sa.sa_handler = fn
- if rt_sigaction(uintptr(i), &sa, nil, unsafe.Sizeof(sa.sa_mask)) != 0 {
+ // Qemu rejects rt_sigaction of SIGRTMAX (64).
+ if rt_sigaction(uintptr(i), &sa, nil, unsafe.Sizeof(sa.sa_mask)) != 0 && i != 64 {
throw("rt_sigaction failure")
}
}