internal/runtime/atomic.Uint32.CompareAndSwap (method)
32 uses
internal/runtime/atomic (current package)
types.go#L235: func (u *Uint32) CompareAndSwap(old, new uint32) bool {
runtime
chan.go#L908: if !sgp.g.selectDone.CompareAndSwap(0, 1) {
coro.go#L168: if !canCAS || !gp.atomicstatus.CompareAndSwap(_Grunning, _Gwaiting) {
coro.go#L236: if !canCAS || !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#L87: if l1.owned.Load() == 0 && l1.owned.CompareAndSwap(0, 1) {
mfinal.go#L157: if ok := fingStatus.CompareAndSwap(fingCreated|fingWait|fingWake, fingCreated); ok {
mfinal.go#L165: if fingStatus.Load() == fingUninitialized && fingStatus.CompareAndSwap(fingUninitialized, fingCreated) {
mgclimit.go#L303: return l.lock.CompareAndSwap(0, 1)
mgcsweep.go#L154: if a.state.CompareAndSwap(state, state+1) {
mgcsweep.go#L171: if a.state.CompareAndSwap(state, state-1) {
mgcsweep.go#L196: 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#L1366: 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#L1150: success = gp.atomicstatus.CompareAndSwap(oldval, newval)
proc.go#L1170: r := gp.atomicstatus.CompareAndSwap(oldval, newval)
proc.go#L1211: for i := 0; !gp.atomicstatus.CompareAndSwap(oldval, newval); i++ {
proc.go#L1329: for !gp.atomicstatus.CompareAndSwap(_Grunning, _Gscan|_Gpreempted) {
proc.go#L1347: if !gp.atomicstatus.CompareAndSwap(_Gpreempted, _Gwaiting) {
proc.go#L5608: 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#L207: if !r.statusTraced[gen%3].CompareAndSwap(0, 1) {