diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2017-06-13 00:43:56 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2017-06-13 00:43:56 +0000 |
commit | cd34e54306bfb2ef53fbb2405de435e375337ef9 (patch) | |
tree | 7eb733a5b30639c426714eac9d7dfeacc3b95c4f | |
parent | 67972c9038daa394086daeed5c332983fa92d583 (diff) | |
download | gcc-cd34e54306bfb2ef53fbb2405de435e375337ef9.zip gcc-cd34e54306bfb2ef53fbb2405de435e375337ef9.tar.gz gcc-cd34e54306bfb2ef53fbb2405de435e375337ef9.tar.bz2 |
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
-rw-r--r-- | gcc/go/gofrontend/MERGE | 2 | ||||
-rw-r--r-- | libgo/go/runtime/proc.go | 1 |
2 files changed, 2 insertions, 1 deletions
diff --git a/gcc/go/gofrontend/MERGE b/gcc/go/gofrontend/MERGE index d4a3129..a2ed1f3 100644 --- a/gcc/go/gofrontend/MERGE +++ b/gcc/go/gofrontend/MERGE @@ -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. diff --git a/libgo/go/runtime/proc.go b/libgo/go/runtime/proc.go index 038f20e..32bc148 100644 --- a/libgo/go/runtime/proc.go +++ b/libgo/go/runtime/proc.go @@ -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 |