diff options
author | Thinkofdeath <thinkofdeath@spigotmc.org> | 2015-03-22 19:06:55 +0000 |
---|---|---|
committer | Thinkofdeath <thinkofdeath@spigotmc.org> | 2015-03-22 19:06:55 +0000 |
commit | 970be7a444aa6b0dfac624b4633a8b5fe535c2ec (patch) | |
tree | fbb02f58881f9a0886e540395a39d1f14b7e3857 /nms-patches | |
parent | 3fce0ec0f5462b0478c6b85ae5c8026f69a2911b (diff) | |
download | craftbukkit-970be7a444aa6b0dfac624b4633a8b5fe535c2ec.tar craftbukkit-970be7a444aa6b0dfac624b4633a8b5fe535c2ec.tar.gz craftbukkit-970be7a444aa6b0dfac624b4633a8b5fe535c2ec.tar.lz craftbukkit-970be7a444aa6b0dfac624b4633a8b5fe535c2ec.tar.xz craftbukkit-970be7a444aa6b0dfac624b4633a8b5fe535c2ec.zip |
Fix thread safety issues in EntitySlice
Diffstat (limited to 'nms-patches')
-rw-r--r-- | nms-patches/EntitySlice.patch | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nms-patches/EntitySlice.patch b/nms-patches/EntitySlice.patch new file mode 100644 index 00000000..d8d2c985 --- /dev/null +++ b/nms-patches/EntitySlice.patch @@ -0,0 +1,38 @@ +--- /home/matt/mc-dev-private//net/minecraft/server/EntitySlice.java 2015-03-22 19:06:47.125875941 +0000 ++++ src/main/java/net/minecraft/server/EntitySlice.java 2015-03-22 19:06:47.125875941 +0000 +@@ -12,7 +12,7 @@ + + public class EntitySlice<T> extends AbstractSet<T> { + +- private static final Set<Class<?>> a = Sets.newHashSet(); ++ private static final Set<Class<?>> a = Sets.newConcurrentHashSet(); // CraftBukkit + private final Map<Class<?>, List<T>> b = Maps.newHashMap(); + private final Set<Class<?>> c = Sets.newIdentityHashSet(); + private final Class<T> d; +@@ -40,7 +40,7 @@ + Object object = iterator.next(); + + if (oclass.isAssignableFrom(object.getClass())) { +- this.a(object, oclass); ++ this.a((T) object, oclass); + } + } + +@@ -77,7 +77,7 @@ + List list = (List) this.b.get(oclass); + + if (list == null) { +- this.b.put(oclass, Lists.newArrayList(new Object[] { t0})); ++ this.b.put(oclass, Lists.newArrayList(t0)); + } else { + list.add(t0); + } +@@ -125,7 +125,7 @@ + } + + public Iterator<T> iterator() { +- return this.e.isEmpty() ? Iterators.emptyIterator() : Iterators.unmodifiableIterator(this.e.iterator()); ++ return this.e.isEmpty() ? Iterators.<T>emptyIterator() : Iterators.unmodifiableIterator(this.e.iterator()); + } + + public int size() { |