From 64cb9cdafdd8151fbe68691e58aba15221f42db9 Mon Sep 17 00:00:00 2001 From: Ben Staddon Date: Fri, 24 Feb 2017 01:20:25 +0000 Subject: [PATCH] Prevent concurrent modification of ClassInheritanceMultiMap (#3632) --- .../util/ClassInheritanceMultiMap.java.patch | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 patches/minecraft/net/minecraft/util/ClassInheritanceMultiMap.java.patch diff --git a/patches/minecraft/net/minecraft/util/ClassInheritanceMultiMap.java.patch b/patches/minecraft/net/minecraft/util/ClassInheritanceMultiMap.java.patch new file mode 100644 index 000000000..5799fbdaa --- /dev/null +++ b/patches/minecraft/net/minecraft/util/ClassInheritanceMultiMap.java.patch @@ -0,0 +1,12 @@ +--- ../src-base/minecraft/net/minecraft/util/ClassInheritanceMultiMap.java ++++ ../src-work/minecraft/net/minecraft/util/ClassInheritanceMultiMap.java +@@ -12,7 +12,8 @@ + + public class ClassInheritanceMultiMap extends AbstractSet + { +- private static final Set < Class> field_181158_a = Sets. < Class> newHashSet(); ++ // Forge: Use concurrent collection to allow creating chunks from multiple threads safely ++ private static final Set < Class> field_181158_a = java.util.Collections.newSetFromMap(new java.util.concurrent.ConcurrentHashMap, Boolean>()); + private final Map < Class, List> field_180218_a = Maps. < Class, List> newHashMap(); + private final Set < Class> field_180216_b = Sets. < Class> newIdentityHashSet(); + private final Class field_180217_c;