Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
jtsk_2.1
-
None
-
6219149
Description
Bugtraq ID 6219149
Currently, ProxyReg.fail() synchronizes on 'this', which is the current
instance of ProxyReg. Within that sync block, it checks to see if the
JoinManager has been terminated. The check for termination is similar
to checks performed in a number of other places in JoinManager, except
that all the other checks are performed while synchronized on the
JoinManager itself, not a particular proxyReg. The fail() method should
probably be changed to sync on JoinManager.this, rather than on this.
Additionally, the only situation in which synchronization is performed on
the JoinManager itself is when the JoinManager's terminated status is
checked. It seems like synchronization could be simplified somewhat if
those sync blocks were changed to synchronize on joinSet instead of on
JoinManager.
Could result in a race condition.