aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/panic.go
diff options
context:
space:
mode:
authorRuss Cox <rsc@golang.org>2014-09-11 12:08:30 -0400
committerRuss Cox <rsc@golang.org>2014-09-11 12:08:30 -0400
commit1d550b87dbbe711a1bf2e54e0ba065a27165d2c1 (patch)
tree154e9e895575bc13f839569b9279cd912a5a86f8 /src/runtime/panic.go
parentf956740163ad4b46237cea83357b962cada1c2df (diff)
downloadgo-1d550b87dbbe711a1bf2e54e0ba065a27165d2c1.tar.xz
runtime: allow crash from gsignal stack
The uses of onM in dopanic/startpanic are okay even from the signal stack. Fixes #8666. LGTM=khr R=khr CC=golang-codereviews https://golang.org/cl/134710043
Diffstat (limited to 'src/runtime/panic.go')
-rw-r--r--src/runtime/panic.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/runtime/panic.go b/src/runtime/panic.go
index ac0a7541e8..017f5d4896 100644
--- a/src/runtime/panic.go
+++ b/src/runtime/panic.go
@@ -371,7 +371,7 @@ func gorecover(argp uintptr) interface{} {
//go:nosplit
func startpanic() {
- onM(startpanic_m)
+ onM_signalok(startpanic_m)
}
//go:nosplit
@@ -381,7 +381,7 @@ func dopanic(unused int) {
mp.ptrarg[0] = unsafe.Pointer(gp)
mp.scalararg[0] = getcallerpc((unsafe.Pointer)(&unused))
mp.scalararg[1] = getcallersp((unsafe.Pointer)(&unused))
- onM(dopanic_m) // should never return
+ onM_signalok(dopanic_m) // should never return
*(*int)(nil) = 0
}