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 | 1d550b87dbbe711a1bf2e54e0ba065a27165d2c1 (patch) | |
| tree | 154e9e895575bc13f839569b9279cd912a5a86f8 /src/runtime/panic.go | |
| parent | f956740163ad4b46237cea83357b962cada1c2df (diff) | |
| download | go-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.go | 4 |
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 } |
