mirror of
https://github.com/golang/go
synced 2024-11-18 14:04:45 -07:00
Revert "runtime: convert local var stop,ready at TestDebugCallUnsafePoint to atomic type"
This reverts https://go.dev/cl/427135. Reason for revert: broke the test it modified on linux-amd64-noopt. --- FAIL: TestDebugCallUnsafePoint (0.00s) debug_test.go:265: want "call not at safe point", got %!s(<nil>) Change-Id: I044c9720aed2d5e48b56bd7ab2781462270dcae9 Reviewed-on: https://go-review.googlesource.com/c/go/+/428395 Reviewed-by: xie cui <523516579@qq.com> Reviewed-by: Bryan Mills <bcmills@google.com> Run-TryBot: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: hopehook <hopehook@golangcn.org> Reviewed-by: Michael Pratt <mpratt@google.com>
This commit is contained in:
parent
8a32354219
commit
a60a3dc5bc
@ -224,7 +224,7 @@ func TestDebugCallGrowStack(t *testing.T) {
|
||||
}
|
||||
|
||||
//go:nosplit
|
||||
func debugCallUnsafePointWorker(gpp **runtime.G, ready, stop *atomic.Bool) {
|
||||
func debugCallUnsafePointWorker(gpp **runtime.G, ready, stop *uint32) {
|
||||
// The nosplit causes this function to not contain safe-points
|
||||
// except at calls.
|
||||
runtime.LockOSThread()
|
||||
@ -232,8 +232,8 @@ func debugCallUnsafePointWorker(gpp **runtime.G, ready, stop *atomic.Bool) {
|
||||
|
||||
*gpp = runtime.Getg()
|
||||
|
||||
for !stop.Load() {
|
||||
ready.Store(true)
|
||||
for atomic.LoadUint32(stop) == 0 {
|
||||
atomic.StoreUint32(ready, 1)
|
||||
}
|
||||
}
|
||||
|
||||
@ -253,10 +253,10 @@ func TestDebugCallUnsafePoint(t *testing.T) {
|
||||
|
||||
// Test that the runtime refuses call injection at unsafe points.
|
||||
var g *runtime.G
|
||||
var ready, stop atomic.Bool
|
||||
defer stop.Store(true)
|
||||
var ready, stop uint32
|
||||
defer atomic.StoreUint32(&stop, 1)
|
||||
go debugCallUnsafePointWorker(&g, &ready, &stop)
|
||||
for !ready.Load() {
|
||||
for atomic.LoadUint32(&ready) == 0 {
|
||||
runtime.Gosched()
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user