diff options
Diffstat (limited to 'src/runtime/proc1.go')
| -rw-r--r-- | src/runtime/proc1.go | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/runtime/proc1.go b/src/runtime/proc1.go index f3248a5351..906528c0ab 100644 --- a/src/runtime/proc1.go +++ b/src/runtime/proc1.go @@ -2483,6 +2483,7 @@ func procresize(nprocs int32) *p { pp = new(p) pp.id = i pp.status = _Pgcstop + pp.sudogcache = pp.sudogbuf[:0] atomicstorep(unsafe.Pointer(&allp[i]), unsafe.Pointer(pp)) } if pp.mcache == nil { @@ -2521,6 +2522,10 @@ func procresize(nprocs int32) *p { } sched.runqsize++ } + for i := range &p.sudogbuf { + p.sudogbuf[i] = nil + } + p.sudogcache = p.sudogbuf[:0] freemcache(p.mcache) p.mcache = nil gfpurge(p) |
