Excellent. I knew you’re thorough as usual :-)
> On Jan 15, 2016, at 4:36 PM, Hannes Wallnoefer <hannes.wallnoe...@oracle.com>
> wrote:
>
> Thanks for the review.
>
> Just synchronizing WeakPropertyMapSet methods would not be sufficient, as
> there is a method that returns the keyset, which is then iterated by the
> calling code. I could have refactored that (adding 4 listener methods to
> WeakPropertyMapSet that iterate the keyset internally).
>
> I chose to go the other way based on observing that very few collections are
> actually copied at runtime, and it's mostly a one-time thing (once the
> property maps stabilize, so do the listeners).
>
> Hannes
>
> Am 2016-01-15 um 16:06 schrieb Attila Szegedi:
>> +1. I presume you considered it and decided that copying the weak maps is
>> better than sharing WeakPropertyMapSet objects and making their methods
>> synchronized.
>>
>>> On Jan 15, 2016, at 12:49 PM, Hannes Wallnoefer
>>> <hannes.wallnoe...@oracle.com> wrote:
>>>
>>> Please review:
>>>
>>> Webrev: http://cr.openjdk.java.net/~hannesw/8146274/
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8146274
>>>
>>> I was not able to reproduce the issue although I tried my best to follow
>>> the instructions. However, it is pretty clear that the issue is that the
>>> cause for the concurrent modification exception is the sharing of
>>> WeakPropertyMapSets between PropertyMapListeners.
>>>
>>> Thanks,
>>> Hannes
>