Chris,

Looks good to me.

Thanks,
David

On 4/11/2010 9:44 PM, Chris Hegarty wrote:
David, Alan,

There is a race, if the thread being created completes before the starting
thread has a chance to complete its start method ( and decrement the groups
nUnstartedThreads count ), then when the newly started threads exit method
notifies the group that it is terminating the group will not be destroyed
because it believes it still as an unstarted thread in it.

Basically we decrement the unstarted thread count in threadStarting.
Since the thread is added to the group the reason for the unstarted
thread count is no longer applicable, i.e. the thread is a real member
of the group. We rectify the unstarted thread count if start fails,
allowing a subsequent attempt to start the thread (this is consistent
with current behavior).

Webrev:
http://cr.openjdk.java.net/~chegar/6988618/webrev.00/webrev/

Thanks,
-Chris.

Reply via email to