// Values for m.freeWait.
const (
- freeMStack = 0 // M done, free stack and reference.
- freeMRef = 1 // M done, free reference.
- freeMWait = 2 // M still in use.
+ freeMStack = 0 // M done, free stack and reference.
+ freeMRef = 1 // M done, free reference.
+ freeMWait = 2 // M still in use.
)
type m struct {
blocked bool // m is blocked on a note
newSigstack bool // minit on C thread called sigaltstack
printlock int8
- incgo bool // m is executing a cgo call
- isextra bool // m is an extra m
+ incgo bool // m is executing a cgo call
+ isextra bool // m is an extra m
freeWait atomic.Uint32 // Whether it is safe to free g0 and delete m (one of freeMRef, freeMStack, freeMWait)
fastrand uint64
needextram bool