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) {