From: Michael Anthony Knyszek Date: Mon, 14 Oct 2019 17:33:36 +0000 (+0000) Subject: runtime: call goready in wakeScavenger instead of ready X-Git-Tag: go1.14beta1~742 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=2c87be436bddd9b49f11959adee1ae817cb48ee1;p=gostls13.git runtime: call goready in wakeScavenger instead of ready This changes fixes an oversight in wakeScavenger which would cause ready to be called off of the system stack. This change makes it so that wakeScavenger calls goready, which switches to the system stack before calling ready. Fixes #34773. Change-Id: Icb13f180b4d8fdd47c921eac1b896e3dd49e43b3 Reviewed-on: https://go-review.googlesource.com/c/go/+/200999 Run-TryBot: Michael Knyszek Reviewed-by: Keith Randall --- diff --git a/src/runtime/mgcscavenge.go b/src/runtime/mgcscavenge.go index 856f6f9de0..0273c8d234 100644 --- a/src/runtime/mgcscavenge.go +++ b/src/runtime/mgcscavenge.go @@ -233,7 +233,7 @@ func wakeScavenger() { // Unpark the goroutine and tell it that there may have been a pacing // change. scavenge.parked = false - ready(scavenge.g, 0, true) + goready(scavenge.g, 0) } unlock(&scavenge.lock) }