RFR: 8232524: SynchronizedObservableMap cannot be be protected for copying/iterating
Robert Lichtenberger
rlichten at openjdk.java.net
Wed Dec 4 14:50:21 UTC 2019
On Tue, 3 Dec 2019 05:08:49 GMT, Ambarish Rapte <arapte at openjdk.org> wrote:
> On Mon, 21 Oct 2019 10:19:04 GMT, Robert Lichtenberger <rlichten at openjdk.org> wrote:
>
>> By using the collection itself as synchronization lock we achieve behaviour that matches java.util.Collections classes.
>>
>> I've create test cases that fail with the current way of synchronizing on a separate object.
>>
>> I've removed unused constructors.
>>
>> ----------------
>>
>> Commits:
>> - 7e80839f: 8232524: SynchronizedObservableMap cannot be be protected for copying/iterating
>> - 8ecf3545: JDK-8232524 fixed.
>>
>> Changes: https://git.openjdk.java.net/jfx/pull/17/files
>> Webrev: https://webrevs.openjdk.java.net/jfx/17/webrev.00
>> Issue: https://bugs.openjdk.java.net/browse/JDK-8232524
>> Stats: 120 lines in 2 files changed: 95 ins; 17 del; 8 mod
>> Patch: https://git.openjdk.java.net/jfx/pull/17.diff
>> Fetch: git fetch https://git.openjdk.java.net/jfx pull/17/head:pull/17
>
> The change looks good to me, added a comment for a small change in test.
>
> modules/javafx.base/src/test/java/test/javafx/collections/FXCollectionsTest.java line 730:
>
>> 729: } catch (ConcurrentModificationException e) {
>> 730: fail("ConcurrentModificationException should not be thrown");
>> 731: }
>
> The thread should be terminated here too, please add `thread.terminate();` before `fail()`
>
> ----------------
>
> Changes requested by arapte (Reviewer).
You're right. I just pushed the fix.
PR: https://git.openjdk.java.net/jfx/pull/17
More information about the openjfx-dev
mailing list