Extend and fix the monitor diagnostics.
1. Including kSleeping as one of the interesting states.
2. Reset the wait_monitor_ field later so that a thread caught trying to switch
back to kRunnable doesn't show up as waiting/sleeping on "null". This only
came to light because my wait/sleep additions to the ThreadStress test all do
very short waits/sleeps.
3. Remove the bogus "held by" output. You can only wait/sleep on a monitor you
hold, so we know the answer already (and this code was producing the wrong
answer because it was using stale data).
3 files changed