On 24/12/2012 14:08, shanliang wrote:
webrev: http://cr.openjdk.java.net/~sjiang/JDK-7120365/webrev.00/
The test is correct, it was implemented to verify the fix for bug
4911721, but in addition it detects luckily another problem within the
method ServerNotifForwarder.snoopOnUnregister
The problem was that during a "for" cycle, the set list was modified
by anther thread, the solution is to use a unmodifiable set.
This fix is important, it not only re-enables a test, but also fixes a
concurrent modification bug in the jmx notification.
Shanliang
Are you sure this is right? I don't know this code but from a brief
glance then it appears to me that all access to listenerMap requires
first synchronizes on it and maybe you need to do this and then take a
copy (not a unmodifiable view) of the delegate set before you iterate
over it. Apologies if you looked at this in detail, it's just not clear
to me how using an unmodifiable view fixes the problem if the issue is
actually that other threads are modifying the set.
-Alan