From: Michael Hudson-Doyle Date: Thu, 12 Nov 2015 19:55:44 +0000 (+1300) Subject: [release-branch.go1.5] runtime: ignore rt_sigaction error if it is for SIGRTMAX X-Git-Tag: go1.5.2~23 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=20a053611b2ac6cdd760fd3d391e4f7ae2d72a77;p=gostls13.git [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 Reviewed-on: https://go-review.googlesource.com/16986 Run-TryBot: Austin Clements Reviewed-by: Ian Lance Taylor --- 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") } }