runtime: clear isSystemGoroutine in goexit
Otherwise it may be set when the g struct is reused via gfput/gfget. Test is golang.org/x/net/http2 with GOMAXPROCS=12. Reviewed-on: https://go-review.googlesource.com/45430 From-SVN: r249143
This commit is contained in:
parent
67972c9038
commit
cd34e54306
|
@ -1,4 +1,4 @@
|
|||
908fc7e46ebe36658ed86b65a3d165fccb2e8576
|
||||
3b44ad058abda0d1b0b6c928987270da50ab7431
|
||||
|
||||
The first line of this file holds the git revision number of the last
|
||||
merge done from the gofrontend repository.
|
||||
|
|
|
@ -2251,6 +2251,7 @@ func goexit0(gp *g) {
|
|||
casgstatus(gp, _Grunning, _Gdead)
|
||||
if isSystemGoroutine(gp) {
|
||||
atomic.Xadd(&sched.ngsys, -1)
|
||||
gp.isSystemGoroutine = false
|
||||
}
|
||||
gp.m = nil
|
||||
gp.lockedm = nil
|
||||
|
|
Loading…
Reference in New Issue