runtime/internal/atomic.Uint32.CompareAndSwap (method)

63 uses

	runtime/internal/atomic (current package)
		types.go#L235: func (u *Uint32) CompareAndSwap(old, new uint32) bool {

	runtime
		chan.go#L794: 		if sgp.isSelect && !sgp.g.selectDone.CompareAndSwap(0, 1) {
		cpuprof.go#L108: 	for !prof.signalLock.CompareAndSwap(0, 1) {
		cpuprof.go#L145: 	for !prof.signalLock.CompareAndSwap(0, 1) {
		debuglog.go#L67: 			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#L302: 	return l.lock.CompareAndSwap(0, 1)
		mgcsweep.go#L157: 		if a.state.CompareAndSwap(state, state+1) {
		mgcsweep.go#L174: 		if a.state.CompareAndSwap(state, state-1) {
		mgcsweep.go#L199: 		if a.state.CompareAndSwap(state, state|sweepDrainedMask) {
		mprof.go#L190: 		if c.value.CompareAndSwap(prev, next) {
		mprof.go#L207: 		if c.value.CompareAndSwap(prev, next) {
		mprof.go#L896: 	return (*atomic.Uint32)(p).CompareAndSwap(uint32(old), uint32(new))
		netpoll.go#L164: 	for !pd.atomicInfo.CompareAndSwap(x, (x&pollEventErr)|info) {
		netpoll.go#L179: 	for (x&pollEventErr != 0) != b && !pd.atomicInfo.CompareAndSwap(x, x^pollEventErr) {
		netpoll_epoll.go#L72: 	if !netpollWakeSig.CompareAndSwap(0, 1) {
		proc.go#L999: 			success = gp.atomicstatus.CompareAndSwap(oldval, newval)
		proc.go#L1019: 			r := gp.atomicstatus.CompareAndSwap(oldval, newval)
		proc.go#L1059: 	for i := 0; !gp.atomicstatus.CompareAndSwap(oldval, newval); i++ {
		proc.go#L1160: 		if gp.atomicstatus.CompareAndSwap(oldstatus, _Gcopystack) {
		proc.go#L1175: 	for !gp.atomicstatus.CompareAndSwap(_Grunning, _Gscan|_Gpreempted) {
		proc.go#L1187: 	return gp.atomicstatus.CompareAndSwap(_Gpreempted, _Gwaiting)
		proc.go#L5030: 	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) {
		time.go#L321: 			if t.status.CompareAndSwap(s, timerModifying) {
		time.go#L326: 				if !t.status.CompareAndSwap(timerModifying, timerDeleted) {
		time.go#L340: 			if t.status.CompareAndSwap(s, timerModifying) {
		time.go#L344: 				if !t.status.CompareAndSwap(timerModifying, timerDeleted) {
		time.go#L458: 			if t.status.CompareAndSwap(status, timerModifying) {
		time.go#L470: 			if t.status.CompareAndSwap(status, timerModifying) {
		time.go#L480: 			if t.status.CompareAndSwap(status, timerModifying) {
		time.go#L510: 		if !t.status.CompareAndSwap(timerModifying, timerWaiting) {
		time.go#L535: 		if !t.status.CompareAndSwap(timerModifying, newStatus) {
		time.go#L583: 			if !t.status.CompareAndSwap(s, timerRemoving) {
		time.go#L587: 			if !t.status.CompareAndSwap(timerRemoving, timerRemoved) {
		time.go#L592: 			if !t.status.CompareAndSwap(s, timerMoving) {
		time.go#L600: 			if !t.status.CompareAndSwap(timerMoving, timerWaiting) {
		time.go#L620: 				if !t.status.CompareAndSwap(s, timerMoving) {
		time.go#L625: 				if !t.status.CompareAndSwap(timerMoving, timerWaiting) {
		time.go#L630: 				if !t.status.CompareAndSwap(s, timerMoving) {
		time.go#L636: 				if !t.status.CompareAndSwap(timerMoving, timerWaiting) {
		time.go#L641: 				if !t.status.CompareAndSwap(s, timerRemoved) {
		time.go#L694: 			if t.status.CompareAndSwap(s, timerRemoving) {
		time.go#L696: 				if !t.status.CompareAndSwap(timerRemoving, timerRemoved) {
		time.go#L705: 			if t.status.CompareAndSwap(s, timerMoving) {
		time.go#L745: 		if !t.status.CompareAndSwap(timerMoving, timerWaiting) {
		time.go#L787: 			if !t.status.CompareAndSwap(s, timerRunning) {
		time.go#L796: 			if !t.status.CompareAndSwap(s, timerRemoving) {
		time.go#L800: 			if !t.status.CompareAndSwap(timerRemoving, timerRemoved) {
		time.go#L809: 			if !t.status.CompareAndSwap(s, timerMoving) {
		time.go#L815: 			if !t.status.CompareAndSwap(timerMoving, timerWaiting) {
		time.go#L862: 		if !t.status.CompareAndSwap(timerRunning, timerWaiting) {
		time.go#L869: 		if !t.status.CompareAndSwap(timerRunning, timerNoStatus) {
		time.go#L925: 				if t.status.CompareAndSwap(s, timerMoving) {
		time.go#L931: 					if !t.status.CompareAndSwap(timerMoving, timerWaiting) {
		time.go#L937: 				if t.status.CompareAndSwap(s, timerRemoving) {
		time.go#L940: 					if !t.status.CompareAndSwap(timerRemoving, timerRemoved) {
		trace.go#L875: 	for !trace.signalLock.CompareAndSwap(0, 1) {