runtime: install SIGURG handler on C created threads
authorIan Lance Taylor <ian@gcc.gnu.org>
Thu, 24 Jan 2019 05:31:14 +0000 (05:31 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Thu, 24 Jan 2019 05:31:14 +0000 (05:31 +0000)
    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

gcc/go/gofrontend/MERGE
libgo/go/runtime/signal_unix.go

index 95604f851dde98a761b45e3773698d092d2cfa31..faab230d3ecbc1645289c3e07761e22b4e67462d 100644 (file)
@@ -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.
index 2f89c7cbf43eda41ec937b124a84060ca6b15f52..12e4315d7e1725cfcc73dc7ca62003dd9427991f 100644 (file)
@@ -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
        }