On 1/10/2011 10:36 AM, Keith McGuigan wrote:
This closes a race condition hole between
JvmtiThreadState::state_for_while_locked() and ~JavaThread(). Without
this, the state_for_while_locked() could see a value of false for
thread->is_exiting(), then the entirety of ~JavaThread() could run,
the state_for_while_locked() could then finish leaving the
JvmtiThreadState referring to a zombie thread.
webrev: http://cr.openjdk.java.net/~kamg/6814943/webrev.00/
Thanks for any review!
Nicely done and thumbs up!
src/share/vm/prims/jvmtiEventController.cpp
line 675: I would have used the infamous "sanity check" for
the assert message, but what you have is fine by me.
src/share/vm/runtime/thread.cpp
The JvmtiEnv::environments_might_exist() call is the right
way to optimize this code path.
src/share/vm/runtime/thread.hpp
No comments.