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 {
|
||||
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()
|
||||
}
|
||||
print("unexpected fault address ", hex(g.sigcode1), "\n")
|
||||
throw("fault")
|
||||
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()
|
||||
}
|
||||
print("unexpected fault address ", hex(g.sigcode1), "\n")
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue