diff options
author | Russ Cox <rsc@golang.org> | 2014-09-11 12:08:30 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2014-09-11 12:08:30 -0400 |
commit | ba9cd2517db68b6a4b218ca73239a9940684c1ac (patch) | |
tree | bf32c0de2dcd34c4af6d08a502ae5f3537f33982 /src/runtime/panic.go | |
parent | 03a54ed0e6623884cc7db8d36f4a1152b6b56afd (diff) | |
download | go-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.go | 4 |
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 } |