mirror of
https://github.com/golang/go
synced 2024-11-18 12:54:44 -07:00
runtime: clarify comment for m->locked
R=golang-dev, r CC=golang-dev https://golang.org/cl/11671043
This commit is contained in:
parent
5d14b89933
commit
27134567fa
@ -359,9 +359,13 @@ struct P
|
||||
byte pad[64];
|
||||
};
|
||||
|
||||
// The m->locked word holds a single bit saying whether
|
||||
// external calls to LockOSThread are in effect, and then a counter
|
||||
// of the internal nesting depth of lockOSThread / unlockOSThread.
|
||||
// The m->locked word holds two pieces of state counting active calls to LockOSThread/lockOSThread.
|
||||
// The low bit (LockExternal) is a boolean reporting whether any LockOSThread call is active.
|
||||
// External locks are not recursive; a second lock is silently ignored.
|
||||
// The upper bits of m->lockedcount record the nesting depth of calls to lockOSThread
|
||||
// (counting up by LockInternal), popped by unlockOSThread (counting down by LockInternal).
|
||||
// Internal locks can be recursive. For instance, a lock for cgo can occur while the main
|
||||
// goroutine is holding the lock during the initialization phase.
|
||||
enum
|
||||
{
|
||||
LockExternal = 1,
|
||||
|
Loading…
Reference in New Issue
Block a user