func runtime/internal/atomic.Cas
76 uses
runtime/internal/atomic (current package)
stubs.go#L12: func Cas(ptr *uint32, old, new uint32) bool
types.go#L172: return Cas(&u.value, old, new)
runtime
chan.go#L789: if sgp.isSelect && !atomic.Cas(&sgp.g.selectDone, 0, 1) {
cpuprof.go#L94: for !atomic.Cas(&prof.signalLock, 0, 1) {
cpuprof.go#L127: for !atomic.Cas(&prof.signalLock, 0, 1) {
debuglog.go#L66: if atomic.Load(&l1.owned) == 0 && atomic.Cas(&l1.owned, 0, 1) {
lock_futex.go#L83: if atomic.Cas(key32(&l.key), mutex_unlocked, wait) {
lock_futex.go#L93: if atomic.Cas(key32(&l.key), mutex_unlocked, wait) {
mfinal.go#L156: if fingCreate == 0 && atomic.Cas(&fingCreate, 0, 1) {
mgcsweep.go#L75: for sOld < sNew && !atomic.Cas((*uint32)(s), uint32(sOld), uint32(sNew)) {
mgcsweep.go#L324: if !atomic.Cas(&s.sweepgen, l.sweepGen-2, l.sweepGen-1) {
netpoll_epoll.go#L82: if atomic.Cas(&netpollWakeSig, 0, 1) {
proc.go#L921: success = atomic.Cas(&gp.atomicstatus, oldval, newval)
proc.go#L941: r := atomic.Cas(&gp.atomicstatus, oldval, newval)
proc.go#L976: for i := 0; !atomic.Cas(&gp.atomicstatus, oldval, newval); i++ {
proc.go#L1038: if atomic.Cas(&gp.atomicstatus, oldstatus, _Gcopystack) {
proc.go#L1053: for !atomic.Cas(&gp.atomicstatus, _Grunning, _Gscan|_Gpreempted) {
proc.go#L1064: return atomic.Cas(&gp.atomicstatus, _Gpreempted, _Gwaiting)
proc.go#L1193: if s == _Psyscall && atomic.Cas(&p.status, s, _Pgcstop) {
proc.go#L1602: if atomic.Cas(&p.runSafePointFn, 1, 0) {
proc.go#L1618: if s == _Psyscall && p.runSafePointFn == 1 && atomic.Cas(&p.status, s, _Pidle) {
proc.go#L1673: if !atomic.Cas(&p.runSafePointFn, 1, 0) {
proc.go#L2163: if !atomic.Cas(&newmHandoff.haveTemplateThread, 0, 1) {
proc.go#L2349: if atomic.Load(&sched.nmspinning)+atomic.Load(&sched.npidle) == 0 && atomic.Cas(&sched.nmspinning, 0, 1) { // TODO: fast atomic
proc.go#L2363: if _p_.runSafePointFn != 0 && atomic.Cas(&_p_.runSafePointFn, 1, 0) {
proc.go#L2401: if atomic.Load(&sched.nmspinning) != 0 || !atomic.Cas(&sched.nmspinning, 0, 1) {
proc.go#L3669: if sched.stopwait > 0 && atomic.Cas(&_p_.status, _Psyscall, _Pgcstop) {
proc.go#L3828: if oldp != nil && oldp.status == _Psyscall && atomic.Cas(&oldp.status, _Psyscall, _Pidle) {
proc.go#L4571: for !atomic.Cas(&prof.signalLock, 0, 1) {
proc.go#L5256: if atomic.Cas(&_p_.status, s, _Pidle) {
runtime1.go#L215: if !atomic.Cas(&z, 1, 2) {
runtime1.go#L223: if atomic.Cas(&z, 5, 6) {
runtime1.go#L231: if !atomic.Cas(&z, 0xffffffff, 0xfffffffe) {
sema.go#L227: if atomic.Cas(addr, v, v-1) {
signal_unix.go#L203: if atomic.Cas(&handlingSig[sig], 0, 1) {
signal_unix.go#L280: if atomic.Cas(&handlingSig[_SIGPROF], 0, 1) {
signal_unix.go#L316: if atomic.Cas(&handlingSig[_SIGPROF], 1, 0) {
signal_unix.go#L373: if atomic.Cas(&mp.signalPending, 0, 1) {
sigqueue.go#L92: if atomic.Cas(&sig.mask[s/32], mask, mask|bit) {
sigqueue.go#L104: if atomic.Cas(&sig.state, sigIdle, sigSending) {
sigqueue.go#L111: if atomic.Cas(&sig.state, sigReceiving, sigIdle) {
sigqueue.go#L146: if atomic.Cas(&sig.state, sigIdle, sigReceiving) {
sigqueue.go#L156: if atomic.Cas(&sig.state, sigSending, sigIdle) {
time.go#L314: if atomic.Cas(&t.status, s, timerModifying) {
time.go#L319: if !atomic.Cas(&t.status, timerModifying, timerDeleted) {
time.go#L333: if atomic.Cas(&t.status, s, timerModifying) {
time.go#L337: if !atomic.Cas(&t.status, timerModifying, timerDeleted) {
time.go#L443: if atomic.Cas(&t.status, status, timerModifying) {
time.go#L455: if atomic.Cas(&t.status, status, timerModifying) {
time.go#L465: if atomic.Cas(&t.status, status, timerModifying) {
time.go#L495: if !atomic.Cas(&t.status, timerModifying, timerWaiting) {
time.go#L520: if !atomic.Cas(&t.status, timerModifying, newStatus) {
time.go#L568: if !atomic.Cas(&t.status, s, timerRemoving) {
time.go#L572: if !atomic.Cas(&t.status, timerRemoving, timerRemoved) {
time.go#L577: if !atomic.Cas(&t.status, s, timerMoving) {
time.go#L585: if !atomic.Cas(&t.status, timerMoving, timerWaiting) {
time.go#L605: if !atomic.Cas(&t.status, s, timerMoving) {
time.go#L610: if !atomic.Cas(&t.status, timerMoving, timerWaiting) {
time.go#L615: if !atomic.Cas(&t.status, s, timerMoving) {
time.go#L621: if !atomic.Cas(&t.status, timerMoving, timerWaiting) {
time.go#L626: if !atomic.Cas(&t.status, s, timerRemoved) {
time.go#L679: if atomic.Cas(&t.status, s, timerRemoving) {
time.go#L681: if !atomic.Cas(&t.status, timerRemoving, timerRemoved) {
time.go#L690: if atomic.Cas(&t.status, s, timerMoving) {
time.go#L730: if !atomic.Cas(&t.status, timerMoving, timerWaiting) {
time.go#L770: if !atomic.Cas(&t.status, s, timerRunning) {
time.go#L779: if !atomic.Cas(&t.status, s, timerRemoving) {
time.go#L783: if !atomic.Cas(&t.status, timerRemoving, timerRemoved) {
time.go#L792: if !atomic.Cas(&t.status, s, timerMoving) {
time.go#L798: if !atomic.Cas(&t.status, timerMoving, timerWaiting) {
time.go#L844: if !atomic.Cas(&t.status, timerRunning, timerWaiting) {
time.go#L851: if !atomic.Cas(&t.status, timerRunning, timerNoStatus) {
time.go#L907: if atomic.Cas(&t.status, s, timerMoving) {
time.go#L913: if !atomic.Cas(&t.status, timerMoving, timerWaiting) {
time.go#L919: if atomic.Cas(&t.status, s, timerRemoving) {
time.go#L922: if !atomic.Cas(&t.status, timerRemoving, timerRemoved) {