What does a sync.Mutex block while it is locked?
sync.Mutex
any other call to lock that Mutex
Mutex
all goroutines
any writes to the variable it is locking
any reads or writes of the variable it is locking