aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@gcc.gnu.org>2019-01-24 05:31:14 +0000
committerIan Lance Taylor <ian@gcc.gnu.org>2019-01-24 05:31:14 +0000
commit52c9cfeb083c7fff0c5049c772285131175f7d0c (patch)
treeeff81c4f04ac8c7656bdc0b4145de1069ee0b74c
parenteea18a4eb06242af8883e9b6b15f981f9243f5c2 (diff)
downloadgcc-52c9cfeb083c7fff0c5049c772285131175f7d0c.zip
gcc-52c9cfeb083c7fff0c5049c772285131175f7d0c.tar.gz
gcc-52c9cfeb083c7fff0c5049c772285131175f7d0c.tar.bz2
runtime: install SIGURG handler on C created threads
Precise stack scan uses SIGURG to trigger a stack scan. We need to have Go signal handler installed for SIGURG. Reviewed-on: https://go-review.googlesource.com/c/159097 From-SVN: r268230
-rw-r--r--gcc/go/gofrontend/MERGE2
-rw-r--r--libgo/go/runtime/signal_unix.go4
2 files changed, 3 insertions, 3 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE
index 95604f8..faab230 100644
--- a/gcc/go/gofrontend/MERGE
+++ b/gcc/go/gofrontend/MERGE
@@ -1,4 +1,4 @@
-e3271f3e09337b951822ba5c596d8cfe3b94508e
+d67c4bf0c42b79d54925ba8c5f23278ee6c3efb6
The first line of this file holds the git revision number of the last
merge done from the gofrontend repository.
diff --git a/libgo/go/runtime/signal_unix.go b/libgo/go/runtime/signal_unix.go
index 2f89c7c..12e4315 100644
--- a/libgo/go/runtime/signal_unix.go
+++ b/libgo/go/runtime/signal_unix.go
@@ -142,8 +142,8 @@ func sigInstallGoHandler(sig uint32) bool {
}
// When built using c-archive or c-shared, only install signal
- // handlers for synchronous signals and SIGPIPE.
- if (isarchive || islibrary) && t.flags&_SigPanic == 0 && sig != _SIGPIPE {
+ // handlers for synchronous signals, SIGPIPE, and SIGURG.
+ if (isarchive || islibrary) && t.flags&_SigPanic == 0 && sig != _SIGPIPE && sig != _SIGURG {
return false
}