From: Todd Neal Date: Tue, 25 Aug 2015 00:11:35 +0000 (-0500) Subject: runtime: fix nmspinning comparison X-Git-Tag: go1.6beta1~1277 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=3efe36d4c46c609b036f3d6eb209788aa71ec57f;p=gostls13.git runtime: fix nmspinning comparison nmspinning has a value range of [0, 2^31-1]. Update the comment to indicate this and fix the comparison so it's not always false. Fixes #11280 Change-Id: Iedaf0654dcba5e2c800645f26b26a1a781ea1991 Reviewed-on: https://go-review.googlesource.com/13877 Reviewed-by: Minux Ma --- diff --git a/src/runtime/proc1.go b/src/runtime/proc1.go index 09cb775f0d..a5708162de 100644 --- a/src/runtime/proc1.go +++ b/src/runtime/proc1.go @@ -1538,7 +1538,7 @@ func resetspinning() { if _g_.m.spinning { _g_.m.spinning = false nmspinning = xadd(&sched.nmspinning, -1) - if nmspinning < 0 { + if int32(nmspinning) < 0 { throw("findrunnable: negative nmspinning") } } else { diff --git a/src/runtime/runtime2.go b/src/runtime/runtime2.go index 57cd869d88..fbd43d21da 100644 --- a/src/runtime/runtime2.go +++ b/src/runtime/runtime2.go @@ -429,7 +429,7 @@ type schedt struct { pidle puintptr // idle p's npidle uint32 - nmspinning uint32 + nmspinning uint32 // limited to [0, 2^31-1] // Global runnable queue. runqhead guintptr