mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: simplify conditions testing g.paniconfault
Implement a comment by Ralph Corderoy on CL 29754. Change-Id: I22bbede211ddcb8a057f16b4f47d335a156cc8d2 Reviewed-on: https://go-review.googlesource.com/29756 Run-TryBot: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
343bec53c7
commit
f05cd4cde5
1 changed files with 10 additions and 2 deletions
|
|
@ -211,13 +211,21 @@ func sigpanic() {
|
||||||
|
|
||||||
switch g.sig {
|
switch g.sig {
|
||||||
case _SIGBUS:
|
case _SIGBUS:
|
||||||
if g.sigcode0 == _BUS_ADRERR && g.sigcode1 < 0x1000 || g.paniconfault {
|
if g.sigcode0 == _BUS_ADRERR && g.sigcode1 < 0x1000 {
|
||||||
|
panicmem()
|
||||||
|
}
|
||||||
|
// Support runtime/debug.SetPanicOnFault.
|
||||||
|
if g.paniconfault {
|
||||||
panicmem()
|
panicmem()
|
||||||
}
|
}
|
||||||
print("unexpected fault address ", hex(g.sigcode1), "\n")
|
print("unexpected fault address ", hex(g.sigcode1), "\n")
|
||||||
throw("fault")
|
throw("fault")
|
||||||
case _SIGSEGV:
|
case _SIGSEGV:
|
||||||
if (g.sigcode0 == 0 || g.sigcode0 == _SEGV_MAPERR || g.sigcode0 == _SEGV_ACCERR) && g.sigcode1 < 0x1000 || g.paniconfault {
|
if (g.sigcode0 == 0 || g.sigcode0 == _SEGV_MAPERR || g.sigcode0 == _SEGV_ACCERR) && g.sigcode1 < 0x1000 {
|
||||||
|
panicmem()
|
||||||
|
}
|
||||||
|
// Support runtime/debug.SetPanicOnFault.
|
||||||
|
if g.paniconfault {
|
||||||
panicmem()
|
panicmem()
|
||||||
}
|
}
|
||||||
print("unexpected fault address ", hex(g.sigcode1), "\n")
|
print("unexpected fault address ", hex(g.sigcode1), "\n")
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue