mirror of
https://github.com/golang/go.git
synced 2025-12-08 06:10:04 +00:00
runtime: clean up dopanic_m
gp is a user G running on the same M as getg(), so it is a fine proxy for gp.m. Change-Id: I9aa1dd283ecf28878eeedd7da4ded5c901809832 Reviewed-on: https://go-review.googlesource.com/c/go/+/418576 Run-TryBot: Michael Pratt <mpratt@google.com> Reviewed-by: Austin Clements <austin@google.com> TryBot-Result: Gopher Robot <gobot@golang.org>
This commit is contained in:
parent
7e952962df
commit
0ad2ec6596
1 changed files with 3 additions and 2 deletions
|
|
@ -1240,6 +1240,8 @@ func startpanic_m() bool {
|
||||||
var didothers bool
|
var didothers bool
|
||||||
var deadlock mutex
|
var deadlock mutex
|
||||||
|
|
||||||
|
// gp is the crashing g running on this M, but may be a user G, while getg() is
|
||||||
|
// always g0.
|
||||||
func dopanic_m(gp *g, pc, sp uintptr) bool {
|
func dopanic_m(gp *g, pc, sp uintptr) bool {
|
||||||
if gp.sig != 0 {
|
if gp.sig != 0 {
|
||||||
signame := signame(gp.sig)
|
signame := signame(gp.sig)
|
||||||
|
|
@ -1252,7 +1254,6 @@ func dopanic_m(gp *g, pc, sp uintptr) bool {
|
||||||
}
|
}
|
||||||
|
|
||||||
level, all, docrash := gotraceback()
|
level, all, docrash := gotraceback()
|
||||||
_g_ := getg()
|
|
||||||
if level > 0 {
|
if level > 0 {
|
||||||
if gp != gp.m.curg {
|
if gp != gp.m.curg {
|
||||||
all = true
|
all = true
|
||||||
|
|
@ -1261,7 +1262,7 @@ func dopanic_m(gp *g, pc, sp uintptr) bool {
|
||||||
print("\n")
|
print("\n")
|
||||||
goroutineheader(gp)
|
goroutineheader(gp)
|
||||||
traceback(pc, sp, 0, gp)
|
traceback(pc, sp, 0, gp)
|
||||||
} else if level >= 2 || _g_.m.throwing >= throwTypeRuntime {
|
} else if level >= 2 || gp.m.throwing >= throwTypeRuntime {
|
||||||
print("\nruntime stack:\n")
|
print("\nruntime stack:\n")
|
||||||
traceback(pc, sp, 0, gp)
|
traceback(pc, sp, 0, gp)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue