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 95604f8..faab230 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 2f89c7c..12e4315 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
        }