request for review (S): 6814943: getcpool001 catches more than one JvmtiThreadState problem (original) (raw)
Daniel D. Daugherty daniel.daugherty at oracle.com
Mon Jan 10 14:13:08 PST 2011
- Previous message: request for review (S): 6814943: getcpool001 catches more than one JvmtiThreadState problem
- Next message: request for review (S): 6814943: getcpool001 catches more than one JvmtiThreadState problem
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 1/10/2011 10:36 AM, Keith McGuigan wrote:
This closes a race condition hole between JvmtiThreadState::stateforwhilelocked() and ~JavaThread(). Without this, the stateforwhilelocked() could see a value of false for thread->isexiting(), then the entirety of ~JavaThread() could run, the stateforwhilelocked() 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.
- Previous message: request for review (S): 6814943: getcpool001 catches more than one JvmtiThreadState problem
- Next message: request for review (S): 6814943: getcpool001 catches more than one JvmtiThreadState problem
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]