summaryrefslogtreecommitdiff
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
commitba9cd2517db68b6a4b218ca73239a9940684c1ac (patch)
treebf32c0de2dcd34c4af6d08a502ae5f3537f33982 /src/runtime/panic.go
parent03a54ed0e6623884cc7db8d36f4a1152b6b56afd (diff)
downloadgo-ba9cd2517db68b6a4b218ca73239a9940684c1ac.tar.gz
runtime: allow crash from gsignal stack
The uses of onM in dopanic/startpanic are okay even from the signal stack. Fixes issue 8666. LGTM=khr R=khr CC=golang-codereviews https://codereview.appspot.com/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 ac0a7541e..017f5d489 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
}