]> Cypherpunks repositories - gostls13.git/commit
runtime: fix sanity check in notetsleep
authorAustin Clements <austin@google.com>
Tue, 26 Mar 2019 02:24:03 +0000 (22:24 -0400)
committerAustin Clements <austin@google.com>
Fri, 5 Apr 2019 18:59:58 +0000 (18:59 +0000)
commitac40a7fb9e2650f0a0999bea7639477337fe161e
tree38b2ca383a717e2fd65b2aca9cd732e20047a8e2
parent2dcbf8b3691e72d1b04e9376488cef3b6f93b286
runtime: fix sanity check in notetsleep

CL 3660 replaced m.gcing with m.preemptoff, but unintentionally
reversed the sense of part of a sanity check in notetsleep.
Originally, notetsleep required that it be called from g0 or with
preemption disabled (specifically from within the garbage collector).
CL 3660 made it require that it be called from g0 or that preemption
be *enabled*.

I'm not sure why it had the original exception for being called from a
user g within the garbage collector, but the current garbage collector
certainly doesn't need that, and the new condition is completely wrong.

Make the sanity check just require that it's called on g0.

Change-Id: I6980d44f5a4461935e10b1b33a981e32b1b7b0c9
Reviewed-on: https://go-review.googlesource.com/c/go/+/170063
Run-TryBot: Austin Clements <austin@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/runtime/lock_sema.go