[jboss-remoting-issues] [JBoss JIRA] Commented: (JBREM-1218) ConnectionValidator.isValid should be volatile
David Lloyd (JIRA)
jira-events at lists.jboss.org
Thu Apr 8 00:03:37 EDT 2010
[ https://jira.jboss.org/jira/browse/JBREM-1218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12524448#action_12524448 ]
David Lloyd commented on JBREM-1218:
------------------------------------
If the same object is synchronized upon when the variable is written as when it's read (as is implied by the wait/notifyAll you describe), this has the same memory visibility effects as "volatile".
> ConnectionValidator.isValid should be volatile
> ----------------------------------------------
>
> Key: JBREM-1218
> URL: https://jira.jboss.org/jira/browse/JBREM-1218
> Project: JBoss Remoting
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 2.5.2.SP2 (Flounder), 2.2.3.SP2
> Reporter: Ron Sigal
> Assignee: Ron Sigal
> Fix For: 2.5.2.SP3 (Flounder), 2.2.3.SP3
>
>
> org.jboss.remoting.ConnectionValidator's variable isValid is set in run(), which runs in one thread, and is read in ConnectionValidator.WaitOnConnectionCheckTimerTask.run(), which runs in another thread. After ConnectionValidator.run() sets isValid, is calls notifyAll() on a lock, which wakes up WaitOnConnectionCheckTimerTask.run(), which then looks at the value of isValid. It's possible for the most recent value of isValid to not yet be visible to WaitOnConnectionCheckTimerTask.run().
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-remoting-issues
mailing list