[
https://issues.apache.org/jira/browse/RIVER-148?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Peter Firmstone resolved RIVER-148.
-----------------------------------
Resolution: Fixed
Fix Version/s: River_3.0.0
JoinManager synchronization has been reviewed, fixed and simplified.
> JoinManager.ProxyReg.fail synchronization may be wrong or may be able to
> simplify it
> ------------------------------------------------------------------------------------
>
> Key: RIVER-148
> URL: https://issues.apache.org/jira/browse/RIVER-148
> Project: River
> Issue Type: Bug
> Components: net_jini_lookup
> Affects Versions: jtsk_2.1
> Reporter: Jim Hurley
> Priority: Minor
> Fix For: River_3.0.0
>
>
> Bugtraq ID
> [6219149|http://bugs.sun.com/bugdatabase/view_bug.do?bug_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.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)