internal/runtime/atomic.Uint32.CompareAndSwap (method)
33 uses
internal/runtime/atomic (current package)
types.go#L235: func (u *Uint32) CompareAndSwap(old, new uint32) bool {
runtime
chan.go#L878: if sgp.isSelect && !sgp.g.selectDone.CompareAndSwap(0, 1) {
coro.go#L155: if !gp.atomicstatus.CompareAndSwap(_Grunning, _Gwaiting) {
coro.go#L223: if !gnext.atomicstatus.CompareAndSwap(_Gwaiting, _Grunning) {
cpuprof.go#L108: for !prof.signalLock.CompareAndSwap(0, 1) {
cpuprof.go#L145: for !prof.signalLock.CompareAndSwap(0, 1) {
debuglog.go#L68: if l1.owned.Load() == 0 && l1.owned.CompareAndSwap(0, 1) {
mfinal.go#L154: if ok := fingStatus.CompareAndSwap(fingCreated|fingWait|fingWake, fingCreated); ok {
mfinal.go#L162: if fingStatus.Load() == fingUninitialized && fingStatus.CompareAndSwap(fingUninitialized, fingCreated) {
mgclimit.go#L303: return l.lock.CompareAndSwap(0, 1)
mgcsweep.go#L155: if a.state.CompareAndSwap(state, state+1) {
mgcsweep.go#L172: if a.state.CompareAndSwap(state, state-1) {
mgcsweep.go#L197: if a.state.CompareAndSwap(state, state|sweepDrainedMask) {
mprof.go#L204: if c.value.CompareAndSwap(prev, next) {
mprof.go#L221: if c.value.CompareAndSwap(prev, next) {
mprof.go#L1360: return (*atomic.Uint32)(p).CompareAndSwap(uint32(old), uint32(new))
netpoll.go#L168: for !pd.atomicInfo.CompareAndSwap(x, (x&pollEventErr)|info) {
netpoll.go#L183: for (x&pollEventErr != 0) != b && !pd.atomicInfo.CompareAndSwap(x, x^pollEventErr) {
netpoll_epoll.go#L69: if !netpollWakeSig.CompareAndSwap(0, 1) {
proc.go#L1132: success = gp.atomicstatus.CompareAndSwap(oldval, newval)
proc.go#L1152: r := gp.atomicstatus.CompareAndSwap(oldval, newval)
proc.go#L1193: for i := 0; !gp.atomicstatus.CompareAndSwap(oldval, newval); i++ {
proc.go#L1309: if gp.atomicstatus.CompareAndSwap(oldstatus, _Gcopystack) {
proc.go#L1324: for !gp.atomicstatus.CompareAndSwap(_Grunning, _Gscan|_Gpreempted) {
proc.go#L1336: return gp.atomicstatus.CompareAndSwap(_Gpreempted, _Gwaiting)
proc.go#L5544: for !prof.signalLock.CompareAndSwap(0, 1) {
signal_unix.go#L375: if mp.signalPending.CompareAndSwap(0, 1) {
sigqueue.go#L104: if sig.state.CompareAndSwap(sigIdle, sigSending) {
sigqueue.go#L111: if sig.state.CompareAndSwap(sigReceiving, sigIdle) {
sigqueue.go#L147: if sig.state.CompareAndSwap(sigIdle, sigReceiving) {
sigqueue.go#L157: if sig.state.CompareAndSwap(sigSending, sigIdle) {
tracecpu.go#L262: for !trace.signalLock.CompareAndSwap(0, 1) {
tracestatus.go#L181: if !r.statusTraced[gen%3].CompareAndSwap(0, 1) {
 |
The pages are generated with Golds v0.7.6. (GOOS=linux GOARCH=amd64)
Golds is a Go 101 project developed by Tapir Liu.
PR and bug reports are welcome and can be submitted to the issue list.
Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |