runtime.m.locks (field)

42 uses

	runtime (current package)
		lock_sema.go#L41: 	if gp.m.locks < 0 {
		lock_sema.go#L44: 	gp.m.locks++
		lock_sema.go#L122: 	gp.m.locks--
		lock_sema.go#L123: 	if gp.m.locks < 0 {
		lock_sema.go#L126: 	if gp.m.locks == 0 && gp.preempt { // restore the preemption request in case we've cleared it in newstack
		mgc.go#L1298: 	if gp := getg(); gp == mp.g0 || mp.locks > 1 || mp.preemptoff != "" {
		mgcmark.go#L393: 	if mp := getg().m; mp.locks > 0 || mp.preemptoff != "" {
		mgcsweep.go#L194: 	_g_.m.locks++
		mgcsweep.go#L196: 		_g_.m.locks--
		mgcsweep.go#L270: 	_g_.m.locks--
		mgcsweep.go#L291: 	if _g_.m.locks == 0 && _g_.m.mallocing == 0 && _g_ != _g_.m.g0 {
		mgcsweep.go#L324: 	if _g_.m.locks == 0 && _g_.m.mallocing == 0 && _g_ != _g_.m.g0 {
		panic.go#L909: 	if gp.m.locks != 0 {
		panic.go#L1252: 	if _g_.m.locks < 0 {
		panic.go#L1253: 		_g_.m.locks = 1
		panic.go#L1353: 	if _m_.locks != 0 || _m_.mallocing != 0 || _m_.throwing != 0 || _m_.preemptoff != "" || _m_.dying != 0 {
		preempt.go#L288: 	return mp.locks == 0 && mp.mallocing == 0 && mp.preemptoff == "" && mp.p.ptr().status == _Prunning
		print.go#L68: 	mp.locks++ // do not reschedule between printlock++ and lock(&debuglock).
		print.go#L73: 	mp.locks-- // now we know debuglock is held and holding up mp.locks for us.
		proc.go#L1078: 	if _g_.m.locks > 0 {
		proc.go#L2244: 	if _g_.m.locks != 0 {
		proc.go#L3054: 	if _g_.m.locks != 0 {
		proc.go#L3503: 	_g_.m.locks++
		proc.go#L3555: 	_g_.m.locks--
		proc.go#L3600: 	_g_.m.locks++ // see comment in entersyscall
		proc.go#L3635: 	_g_.m.locks--
		proc.go#L3661: 	_g_.m.locks++ // see comment in entersyscall
		proc.go#L3683: 		_g_.m.locks--
		proc.go#L3715: 	_g_.m.locks--
		proc.go#L3849: 	gp.m.locks++
		proc.go#L3875: 	gp.m.locks--
		proc.go#L4612: 	_g_.m.locks++
		proc.go#L4636: 	_g_.m.locks--
		proc.go#L5448: 		print("  M", mp.id, ": p=", id1, " curg=", id2, " mallocing=", mp.mallocing, " throwing=", mp.throwing, " preemptoff=", mp.preemptoff, ""+" locks=", mp.locks, " dying=", mp.dying, " spinning=", mp.spinning, " blocked=", mp.blocked, " lockedg=", id3, "\n")
		proc.go#L6094: 	mp.locks++
		proc.go#L6101: 	_g_.m.locks--
		runtime1.go#L469: 	_g_.m.locks++
		runtime1.go#L476: 	mp.locks--
		runtime1.go#L477: 	if mp.locks == 0 && _g_.preempt {
		runtime2.go#L507: 	locks         int32
		sema.go#L195: 		if s.ticket == 1 && getg().m.locks == 0 {
		stack.go#L1029: 		if thisg.m.p == 0 && thisg.m.locks == 0 {