Source Code: - The Go Programming Language
In line 174, why check
!starvingfirst? Once we have already statisfied line 165
old&mutexStarving != 0,
starvingalways is true. Is not it?
Could someone explain the comment btw line 177-179? What does
two goroutines can go lock-step infinitely once they switch mutex to starvation modemean?
Appreciate any help~